「Tin+civil関数-BricsCAD」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
 
(同じ利用者による、間の47版が非表示)
1行目: 1行目:
{{BCAD_LISP}}
{{BCAD_LISP}}
==BricsCAD の Tin + Civil関数 について==
==BricsCAD の Tin + Civil関数 について==
V21以降、BricsCAD LISPは TinSurface + Civil機能専用のインターフェイスを提供している。(「PRO」ライセンスが必要)
V21以降、BricsCAD LISPは [[TinSurface]] + [[Civil]]機能専用のインターフェイスを提供している。(「PRO」ライセンスが必要)
この新しいAPI部分は、シンプルで柔軟性があり、名前、引数、動作、結果において通常のAutoLISPのロジックに従うように設計されている。
この新しいAPI部分は、シンプルで柔軟性があり、名前、引数、動作、結果において通常の [[AutoLISP]] のロジックに従うように設計されている。


* TinSurface + Civil 機能は BricsCAD Professional ("PRO") ライセンス レベルを必要とするため、下位レベルのライセンスを使用する場合 (または RunAsLevel=0 などで無効にする場合)、API モジュールはアクティブではなく、すべての TinSurface LISP API 機能は「無操作」モードで作動する。
* TinSurface + Civil 機能は BricsCAD Professional ("PRO") ライセンス レベルを必要とするため、下位レベルのライセンスを使用する場合 (または RunAsLevel=0 などで無効にする場合)、API モジュールはアクティブではなく、すべての TinSurface LISP API 機能は「無操作」モードで作動する。
10行目: 10行目:
=== ライセンスレベルの確認方法は? ===
=== ライセンスレベルの確認方法は? ===


* (bcad$LicenseLevels) と (vle-licenselevel) の2つのLisp関数があり、どちらも同じ実装を使用している。
* ( [[bcad$LicenseLevels]] ) と ( [[vle-licenselevel]] ) の2つのLisp関数があり、どちらも同じ実装を使用している。
* TinSurfaceが使用可能な場合、返されるリストには "Professional "という文字列が含まれる。
* TinSurfaceが使用可能な場合、返されるリストには "Professional "という文字列が含まれる。
* "RunAsLevel "の設定も結果リストで尊重されます。
* "RunAsLevel "の設定も結果リストで尊重されます。


== TinSurface LISP APIを有効にするには? ==
== TinSurface LISP APIを有効にするには? ==
TinSurface + CivilのLISP機能セットはBRXコアシステムを使用して実装されているため、.NETを使用してTinSurface + Civil LISPインタフェース機能を明示的にロード/アクティブ化する必要がある。
TinSurface(不規則三角形で構成されたサーフェス)+ Civil の LISP機能セットは明示的にロード/アクティブ化する必要がある。
(AutoCAD AutoLISPで必須の(vl-load-com)と似た使い方)。
(AutoCAD AutoLISPで必須の(vl-load-com)と似た使い方)。


  (vl-load-tin) ; でロードする
  (vl-load-tin) ; でロードする
すべてのコンテキスト条件 (PRO以上の実行レベル) が満たされている場合、拡張機能がロードされ、T (または TinSurface/Civil API 部分が利用できない場合は NIL) が返される。
すべてのコンテキスト条件 (PRO以上の実行レベル) が満たされている場合、拡張機能がロードされ、T (または TinSurface/Civil API 部分が利用できない場合は NIL) が返される。


== いくつかの一般的なヒントとルール ==
== いくつかの一般的なヒントとルール ==
「エンティティ名」の使用 : 関数が「エンティティ名」を必要とする場合、「クラシック名」と「vlaオブジェクト」の両方が常に有効であり、サポートされている。
「エンティティ名」の使用 : 関数が「エンティティ名」を必要とする場合、「クラシック名(ename)」と「vlaオブジェクト」の両方がサポートされている。


== TinSurface + Civil API の関数一覧 ==
とりあえず一覧。


== TinSurface + Civil APIの関数 ==
== Tin サーフェス関数 ==
=== Tin サーフェス関数 ===
すべてのTin Surface関数は、接頭辞 "tin:" を使用。
すべてのTin Surface関数は、接頭辞 : "tin:" を使用。
<div class="mcol2">
<div class="mcol2">
* Tinサーフェス作成関数
====Tinサーフェス作成関数====
** [[tin:createTin]]
* [[tin:createTin]]
* tin サーフェス get プロパティ 関数
** [[tin:getarea2d]]
** [[tin:getarea3d]]
** [[tin:getborders]]
** [[tin:getboundingbox]]
** [[tin:getclosestpoint]]
** [[tin:contains]]
** [[tin:getcontoursatelevation]]
** [[tin:getdescription]]
** [[tin:elevationatpoint]]
** [[tin:findtinpointat]]
** [[tin:findtintrianglesat]]
** [[tin:getisassociative]]
** [[tin:getintersectionswithline]]
** [[tin:getmajorcontoursinterval]]
** [[tin:getmajorcontourscolor]]
** [[tin:getminorcontourscolor]]
** [[tin:getminorcontoursinterval]]
** [[tin:getmajorcontours]]
** [[tin:getminorcontours]]
** [[tin:getmaxelevation]]
** [[tin:getminelevation]]
** [[tin:getmesh]]
** [[tin:getmeshbetweensurfaces]]
** [[tin:getmeshoftype]]
** [[tin:get3dsolidbetweensurfaces]]
** [[tin:get3dsolidoftype]]
** [[tin:getname]]
** [[tin:getpoints]]
** [[tin:getpointscount]]
** [[tin:getpointsinsidepolygon]]
** [[tin:getstyle]]
** [[tin:gettriangles]]
** [[tin:gettrianglescount]]
** [[tin:istinsurface]]




* tin サーフェスセットプロパティ関数
==== tin サーフェス get プロパティ 関数 ====
** [[tin:setdescription]]
* [[tin:getarea2d]]
** [[tin:setisassociative]]
* [[tin:getarea3d]]
** [[tin:setmajorcontoursinterval]]
* [[tin:getborders]]
** [[tin:setmajorcontoursinterval]]
* [[tin:getboundingbox]]
** [[tin:setminorcontourscolor]]
* [[tin:getclosestpoint]]
** [[tin:setminorcontoursinterval]]
* [[tin:contains]]
** [[tin:setname]]
* [[tin:getcontoursatelevation]]
** [[tin:setststyle]]
* [[tin:getdescription]]
** [[tin:setsurfaceelevation]]
* [[tin:elevationatpoint]]
* [[tin:findtinpointat]]
* [[tin:findtintrianglesat]]
* [[tin:getisassociative]]
* [[tin:getintersectionswithline]]
* [[tin:getmajorcontoursinterval]]
* [[tin:getmajorcontourscolor]]
* [[tin:getminorcontourscolor]]
* [[tin:getminorcontoursinterval]]
* [[tin:getmajorcontours]]
* [[tin:getminorcontours]]
* [[tin:getmaxelevation]]
* [[tin:getminelevation]]
* [[tin:getmesh]]
* [[tin:getmeshbetweensurfaces]]
* [[tin:getmeshoftype]]
* [[tin:get3dsolidbetweensurfaces]]
* [[tin:get3dsolidoftype]]
* [[tin:getname]]
* [[tin:getpoints]]
* [[tin:getpointscount]]
* [[tin:getpointsinsidepolygon]]
* [[tin:getstyle]]
* [[tin:gettriangles]]
* [[tin:gettrianglescount]]
* [[tin:isautoupdate]] V24.2で追加
* [[tin:isrebuildpossible]] V24.2で追加
* [[tin:isupdateneeded]] V24.2で追加
* [[tin:istinsurface]]




* tinサーフェス編集関数
==== tin サーフェスセットプロパティ関数 ====
** [[tin:addpoint]]
* [[tin:setautoupdate]] V24.2で追加
** [[tin:addpoints]]
* [[tin:setdescription]]
** [[tin:changepointelevations]]
* [[tin:setisassociative]]
** [[tin:crop]]
* [[tin:setmajorcontoursinterval]]
** [[tin:cropbyentity]]
* [[tin:setmajorcontourscolor]]
** [[tin:drape]]
* [[tin:setmajorcontoursinterval]]
** [[tin:drapebyentity]]
* [[tin:setminorcontourscolor]]
** [[tin:merge]]
* [[tin:setminorcontoursinterval]]
** [[tin:movepoint]]
* [[tin:setname]]
** [[tin:movepoints]]
* [[tin:setstyle]]
** [[tin:raisesurface]]
* [[tin:setsurfaceelevation]]
** [[tin:removepoint]]
** [[tin:removepoints]]
** [[tin:swapedge]]
** [[tin:updateTin]]




* Civil3d Import
==== tin 定義関数 ====
* [[tin:getdefinitioncount]] V24.2で追加
* [[tin:removedefinitionat]] V24.2で追加
* [[tin:removealldefinitions]] V24.2で追加
 
 
==== tinサーフェス編集関数 ====
* [[tin:addpoint]]
* [[tin:addpoints]]
* [[tin:changepointelevations]]
* [[tin:crop]]
* [[tin:cropbyentity]]
* [[tin:drape]]
* [[tin:drapebyentity]]
* [[tin:merge]]
* [[tin:movepoint]]
* [[tin:movepoints]]
* [[tin:raisesurface]]
* [[tin:rebuild]] V24.2で追加
* [[tin:removepoint]]
* [[tin:removepoints]]
* [[tin:swapedge]]
* [[tin:updatetin]]
 
 
==== Civil3d Import ====
** [[tin:importcivil3d]]
** [[tin:importcivil3d]]
</div>
</div>


=== tin サーフェス拘束関数 ===
== Tin サーフェス拘束関数 ==
すべてのTinサーフェス拘束関数は、接頭辞: "tinc: "を使用。
すべてのTinサーフェス拘束関数は、接頭辞: "tinc: "を使用。
<div class="mcol2">
<div class="mcol2">
* tinサーフェス拘束の作成 関数
==== tinサーフェス拘束の作成 関数 ====
** [[tinc:createboundarybypoints]]
** [[tinc:createboundarybypoints]]
** [[tinc:createboundarybyentity]]
** [[tinc:createboundarybyentity]]
117行目: 130行目:




* tinサーフェス拘束の get プロパティ関数
==== tinサーフェス拘束の get プロパティ関数 ====
** [[tinc:getallconstraints]]
** [[tinc:getallconstraints]]
** [[tinc:getboundarytype]]
** [[tinc:getboundarytype]]
131行目: 144行目:




* tinサーフェス拘束の set プロパティ関数
==== tinサーフェス拘束の set プロパティ関数 ====
** [[tinc:setbreaklineelevation]]
** [[tinc:setbreaklineelevation]]
** [[tinc:setmidordinatedistance]]
** [[tinc:setwallheight]]
** [[tinc:setwallheight]]
** [[tinc:setwallside]]
** [[tinc:setwallside]]
** [[tinc:setmidordinatedistance]]


</div>
</div>


=== Tin ボリュームサーフェス関数 ===
== Tin ボリュームサーフェス関数 ==
すべてのTin VolumeSurface関数は、接頭辞 : "tinvs: "を使用。
すべてのTin VolumeSurface関数は、接頭辞 : "tinvs: "を使用。
<div class="mcol2">
<div class="mcol2">
162行目: 175行目:
</div>
</div>


=== Civilアライメントビュー機能 ===
 
Civil Vertical AlignmentViewのすべての関数は、接頭辞 : "tinav:" を使用。
 
== Civilアライメント(線形)ビュー機能 ==
シビル垂直線形ビュー(Civil Vertical AlignmentView)のすべての関数は、接頭辞 : "tinav:" を使用。


<div class="mcol2">
<div class="mcol2">
* Civilアライメントビュー作成関数
==== シビル垂直線形ビュー作成関数 ====
** [[tinav:createvalignmentview]]
 
* Civilアライメントビュー get プロパティ関数
* [[tinav:createvalignmentview]]
** [[tinav:alignmentviewtype]]
 
** [[tinav:isalignmentview]]
 
** [[tinav:isverticalalignmentview]]
 
** [[tinav:ishorizontalalignment]]
==== シビル線形ビュー get プロパティ関数 ====
** [[tinav:isverticalalignment]]
* [[tinav:alignmentviewtype]]
** [[tinav:getbaseelevation]]
* [[tinav:isalignmentview]]
** [[tinav:getgraphat]]
* [[tinav:isverticalalignmentview]]
** [[tinav:getgraphcount]]
* [[tinav:ishorizontalalignment]]
** [[tinav:gethalignment]]
* [[tinav:isverticalalignment]]
** [[tinav:getheight]]
* [[tinav:getbaseelevation]]
** [[tinav:gethorizontalscale]]
* [[tinav:getgraphat]]
** [[tinav:getlength]]
* [[tinav:getgraphcount]]
** [[tinav:getorigin]]
* [[tinav:gethalignment]]
** [[tinav:getverticalscale]]
* [[tinav:getheight]]
* Civilアライメントビュー set プロパティ関数
* [[tinav:gethorizontalscale]]
** [[tinav:setbaseelevation]]
* [[tinav:getlength]]
** [[tinav:sethalignment]]
* [[tinav:getorigin]]
** [[tinav:setheight]]
* [[tinav:getverticalscale]]
** [[tinav:sethorizontalscale]]
 
** [[tinav:setlength]]
 
** [[tinav:setorigin]]
==== シビル垂直線形ビュー set プロパティ関数 ====
** [[tinav:setverticalscale]]
* [[tinav:setbaseelevation]]
* Civilアライメントビュー編集関数
* [[tinav:sethalignment]]
** [[tinav:fromwcspoint]]
* [[tinav:setheight]]
** [[tinav:towcspoint]]
* [[tinav:sethorizontalscale]]
** [[tinav:removegraph]]
* [[tinav:setlength]]
** [[tinav:updateview]]
* [[tinav:setorigin]]
* [[tinav:setverticalscale]]
 


</div>
==== シビル垂直線形ビュー 編集関数 ====
* [[tinav:fromwcspoint]]
* [[tinav:towcspoint]]
* [[tinav:removegraph]]
* [[tinav:updateview]]</div>


=== Civilグレーディング関数 ===
== Civilグレーディング(造成)関数 ==
すべてのCivil Grading関数は、接頭辞: "tingr: "を使用
すべてのCivil Grading関数は、接頭辞: "tingr: "を使用
<div class="mcol2">
<div class="mcol2">
* グレーディング 作成関数
==== グレーディング 作成関数 ====
* Tin Gradingエンティティを作成し、そのグレーディングルールを定義する。
Tin Gradingエンティティを作成し、そのグレーディングルールを定義する。
* グレーディングは拡張された TinSurface エンティティの一種なので、すべての TinSurface プロパティ関数はグレーディングエンティティにも使用できる。
グレーディングは拡張された TinSurface エンティティの一種なので、すべての TinSurface プロパティ関数はグレーディングエンティティにも使用できる。
** [[tingr:createtingrading]]
* [[tingr:createtingrading]]
** [[tingr:setsloperule]]
* [[tingr:setsloperule]]
** [[tingr:setsurfacerule]]
* [[tingr:setsurfacerule]]




* グレーディング get プロパティ関数
==== グレーディング get プロパティ関数 ====
** [[tingr:istingrading]]
* [[tingr:istingrading]]
** [[tingr:get-calculationmethod]]
* [[tingr:get-calculationmethod]]
** [[tingr:get-cutslope]]
* [[tingr:get-cutslope]]
** [[tingr:get-fillslope]]
* [[tingr:get-fillslope]]
** [[tingr:get-isassociative]]
* [[tingr:get-isassociative]]
** [[tingr:get-isclosed]]
* [[tingr:get-isclosed]]
** [[tingr:get-isdrawinfill]]
* [[tingr:get-isdrawinfill]]
** [[tingr:get-gradingentity]]
* [[tingr:get-gradingentity]]
** [[tingr:get-gradingtype]]
* [[tingr:get-gradingtype]]
** [[tingr:get-midordinatedist]]
* [[tingr:get-midordinatedist]]
** [[tingr:get-offset]]
* [[tingr:get-offset]]
** [[tingr:get-regionstart]]
* [[tingr:get-regionend]]
** [[tingr:get-regionend]]
* [[tingr:get-regionstart]]
** [[tingr:get-resultdaylight]]
* [[tingr:get-resultdaylight]]
** [[tingr:get-segmentmaxangle]]
* [[tingr:get-segmentmaxangle]]
** [[tingr:get-segmentmaxlength]]
* [[tingr:get-segmentmaxlength]]
** [[tingr:get-slope]]
* [[tingr:get-slope]]
** [[tingr:get-slopeformat]]
* [[tingr:get-slopeformat]]
** [[tingr:get-slopeside]]
* [[tingr:get-slopeside]]
** [[tingr:get-targetsurface]]
* [[tingr:get-targetsurface]]
* [[tingr:get-visualstyle]]
* [[tingr:get-visualstyle]]




* グレーディング set プロパティ関数
==== グレーディング set プロパティ関数 ====
** [[tingr:set-calculationmethod]]
* [[tingr:set-calculationmethod]]
** [[tingr:set-cutslope]]
* [[tingr:set-cutslope]]
** [[tingr:set-fillslope]]
* [[tingr:set-fillslope]]
** [[tingr:set-isassociative]]
* [[tingr:set-isassociative]]
** [[tingr:set-isdrawinfill]]
* [[tingr:set-isdrawinfill]]
** [[tingr:set-gradingentity]]
* [[tingr:set-gradingentity]]
** [[tingr:set-midordinatedist]]
* [[tingr:set-midordinatedist]]
** [[tingr:set-offset]]
* [[tingr:set-offset]]
** [[tingr:set-regionend]]
* [[tingr:set-regionend]]
** [[tingr:set-regionstart]]
* [[tingr:set-regionstart]]
** [[tingr:set-segmentmaxangle]]
* [[tingr:set-segmentmaxangle]]
** [[tingr:set-segmentmaxlength]]
* [[tingr:set-segmentmaxlength]]
** [[tingr:set-slope]]
* [[tingr:set-slope]]
** [[tingr:set-slopeformat]]
* [[tingr:set-slopeformat]]
** [[tingr:set-slopeside]]
* [[tingr:set-slopeside]]
** [[tingr:set-visualstyle]]
* [[tingr:set-visualstyle]]
 
 
==== グレーディング ユーティリティ関数 ====
* [[tingr:convertradtoslope]]
* [[tingr:convertslopetorad]]
</div>
 
 
 
== Civil3D 点変換関数 - V25.1で追加 ==
 
Civil3Dの点変換に関連するすべての関数は、接頭辞 「civil:converter-」を使用する(「civil:get-converter 」を除く)。
 
 
<div class="mcol2">
* [[civil:get-converter]]
* [[civil:converter-convert]]
* [[civil:converter-attachedlabels]]
* [[civil:converter-unattachedlabels]]
* [[civil:converter-release]]
* [[civil:converter-get-c3d-entities]]
* [[civil:converter-get-c3d-info]]
* [[civil:converter-get-c3d-alignmenttype]]
* [[civil:converter-get-c3d-profiletype]]
* [[civil:converter-get-c3d-basealignment]]
* [[civil:converter-get-c3d-basesurface]]
* [[civil:converter-get-c3d-profiles]]
</div>
 
== Civil3D ポイントグループ関数 - V25.1で追加 ==
 
すべての Civil3D ポイントグループ関連関数は、接頭辞 「civil:pgroup-」 を使用する。
 
ポイントグループは、ポイントグループのフィルタリストで定義された条件とフィルタリングに一致する Civil3D 点エンティティの論理的なコレクションである。
 
各ポイントグループには一意の名前と、関連する 64 ビット整数の「ハンドル」があり、dwg データベース内に格納される;
Lispインターフェースは、文字列名と64ビット整数の 「ハンドル 」の両方をサポートしている。
 
Lispインターフェースは、ポイントグループにアクセスするための文字列名と64ビット整数の 「ハンドル 」の両方をサポートしている。「_All points 」名を使用するポイントグループは常に存在し、すべてのCivil3D 点エンティティを含む。
 
この特別なグループは変更できない(読み取り専用)。ポイントグループ関連関数では、フィルタ定義のクエリや変更を含め、1 つの ポイントグループをクエリおよび編集できる:
 
<div class="mcol2">
* [[civil:pgroup-get-numpoints]]
* [[civil:pgroup-get-allpoints]]
* [[civil:pgroup-get-allnumbers]]
* [[civil:pgroup-get-point]]
* [[civil:pgroup-get-name]]
* [[civil:pgroup-isapplicable]]
* [[civil:pgroup-iseditable]]
* [[civil:pgroup-set-name]]
* [[civil:pgroup-need-update]]
* [[civil:pgroup-update]]
</div>
 
== ポイントグループ関連関数 - V25.1で追加 ==
"PointGroups" は、dwgデータベース内に格納されているすべての点グループ オブジェクトのコレクションで、点グループオブジェクトの作成、照会、編集、削除を行うことができる。
 
<div class="mcol2">
* [[civil:pgroups-create]]
* [[civil:pgroups-count]]
* [[civil:pgroups-get]]
* [[civil:pgroups-get-all]]
* [[civil:pgroups-get-lastusedpointnumber]]
* [[civil:pgroups-get-uniquepointnumber]]
* [[civil:pgroups-groupswithpoint]]
* [[civil:pgroups-set-lastusedpointnumber]]
* [[civil:pgroups-remove]]
* [[civil:pgroups-rename]]
* [[civil:pgroups-updatepointgroups]]
</div>
 
== Civil3D 点関数 - V25.1で追加==
 
すべての Civil3D 点関連関数は、接頭辞 「civil:point-」 を使用する。


Civil3D 点はカスタムエンティティとして表現され、番号、名前、生の説明、完全な説明、東経(X)、北緯(Y)、標高(Z)のような多くのプロパティによって定義され、ラベルスタイル、ラベル回転、ラベル位置、ラベルドラッグ、ラベルピン留め、シンボルスタイル、シンボル回転のようないくつかの仕様を使用する。


* グレーディング ユーティリティ関数
 
** [[tingr:convertradtoslope]]
各点は 0以上の一意な番号を持ち(負の値は許されない)、dwgデータベース内に格納された64ビット整数の 「ハンドル 」によってアクセスされる;
** [[tingr:convertslopetorad]]
Lisp インターフェースは、64 ビット整数の「ハンドル」を使用して Point にアクセスし、プロパティを読み書きする。
 
Civil3D 点 は、点グループのフィルタリストに基づき、複数の 点グループのメンバになることができます。
 
点 関連関数を使用すると、1 つの Civil3D 点を照会および編集できる:
 
<div class="mcol2">
* [[civil:point-get-groupids]]
* [[civil:point-get-groupnames]]
* [[civil:point-get-name]]
* [[civil:point-get-number]]
* [[civil:point-get-rawdesc]]
* [[civil:point-get-fulldesc]]
* [[civil:point-get-description]]
* [[civil:point-get-position]]
* [[civil:point-get-easting]]
* [[civil:point-get-northing]]
* [[civil:point-get-elevation]]
* [[civil:point-get-haselevation]]
* [[civil:point-get-labelid]]
* [[civil:point-get-labelposition]]
* [[civil:point-get-labelrotation]]
* [[civil:point-get-labeldragged]]
* [[civil:point-get-labelpinned]]
* [[civil:point-get-labelleaderverts]]
* [[civil:point-get-symbolid]]
* [[civil:point-get-symbolrotation]]
* [[civil:point-set-name]]
* [[civil:point-set-number]]
* [[civil:point-set-rawdesc]]
* [[civil:point-set-fulldesc]]
* [[civil:point-set-description]]
* [[civil:point-set-position]]
* [[civil:point-set-easting]]
* [[civil:point-set-northing]]
* [[civil:point-set-elevation]]
* [[civil:point-set-haselevation]]
* [[civil:point-set-labelid]]
* [[civil:point-set-labelposition]]
* [[civil:point-set-labelrotation]]
* [[civil:point-set-labelpinned]]
* [[civil:point-set-labelleaderverts]]
* [[civil:point-set-symbolid]]
* [[civil:point-set-symbolrotation]]
* [[civil:point-reset-label]]
* [[civil:point-group-update]]
</div>
 
== スナップショット関数 ==
<div class="mcol2">
* [[tin:createsnapshot]] V24.2で追加
* [[tin:hassnapshot]] V24.2で追加
* [[tin:needsnapshotupdate]] V24.2で追加
* [[tin:rebuildsnapshot]] V24.2で追加
* [[tin:removesnapshot]] V24.2で追加
</div>
</div>


261行目: 412行目:


Lispの定義済み定数は多数あり、ほとんどの場合、これらの定数は次のように組み合わせることができる。
Lispの定義済み定数は多数あり、ほとんどの場合、これらの定数は次のように組み合わせることができる。
 
(+ bcTinStyleTriangles bcTinStyleContours)
(+ bcTinStyleTriangles bcTinStyleContours) のように組み合わせることができる。
12




{| class="wikitable"  
{| class="wikitable"  
! !! 変数名/シンボル名 !! 整数 !! TinSurface タイプ
! !! 変数名/シンボル名 !! 整数 !! Tinサーフェス タイプ
|-  
|-  
| || bcTinStyleNone || 0 || clears all TinSurfaceスタイル
| || bcTinStyleNone || 0 || clears all Tinサーフェススタイル
|-  
|-  
| || bcTinStyleBoundary || 1 || TinSurfaceにBoundariesを表示することができる。
| || bcTinStyleBoundary || 1 || Tinサーフェスに境界を表示することができる。
|-  
|-  
| || bcTinStylePoints || 2 || TinSurface上にPointsを表示することができる。
| || bcTinStylePoints || 2 || Tinサーフェス上に点を表示することができる。
|-  
|-  
| || bcTinStyleTriangles || 4 || TinSurfaceにTriangleを表示することができる。
| || bcTinStyleTriangles || 4 || Tinサーフェスに三角形を表示することができる。
|-  
|-  
| || bcTinStyleContours || 8 || TinSurfaceにHeight Contoursを表示することができる。
| || bcTinStyleContours || 8 || Tinサーフェスに高さコンターを表示することができる。
|-  
|-  
| || bcTinStyleElevationTooltip || 16 || TinSurfaceにToolTipを表示できる。
| || bcTinStyleElevationTooltip || 16 || Tinサーフェスにツールチップを表示できる。
|-  
|-  
| || bcTinMeshTypeElevation || 1 || メッシュ生成:標高を指定
| || bcTinMeshTypeElevation || 1 || メッシュ生成:標高を指定
284行目: 435行目:
| || bcTinMeshTypeDepth || 2 || メッシュ生成:深さ指定
| || bcTinMeshTypeDepth || 2 || メッシュ生成:深さ指定
|-  
|-  
| || bcTin3dSolidTypeElevation || 1 || 3dSolid生成:高さ指定
| || bcTin3dSolidTypeElevation || 1 || 3Dソリッド生成:高さ指定
|-  
|-  
| || bcTin3dSolidTypeDepth || 2 || 3dソリッド生成:深さ指定
| || bcTin3dSolidTypeDepth || 2 || 3Dソリッド生成:深さ指定
|-  
|-  
| || bcTinVolumeBaseComparison || 0 || VolumeSurface : 基準は底面高さ
| || bcTinVolumeBaseComparison || 0 || ボリュームサーフェス : 基準は底面高さ
|-  
|-  
| || bcTinVolumeToElevation || 1 || VolumeSurface : 基準は標高値
| || bcTinVolumeToElevation || 1 || ボリュームサーフェス : 基準は標高値
|-  
|-  
| || bcTinVolumeToDepth || 2 || VolumeSurface : 基準は深さ値
| || bcTinVolumeToDepth || 2 || ボリュームサーフェス : 基準は深さ値
|-  
|-  
| || bcTinNoAlignmentView || 0 || 非整列ビューエンティティ
| || bcTinNoAlignmentView || 0 || 非線形ビューエンティティ
|-  
|-  
| || bcTinAlignmentView || 1 || 汎用配置ビューエンティティ
| || bcTinAlignmentView || 1 || 汎用線形ビューエンティティ
|-  
|-  
| || bcTinVAlignmentView || 2 || 垂直配向ビューエンティティ
| || bcTinVAlignmentView || 2 || 垂直線形ビューエンティティ
|-  
|-  
| EConstraintType || bcTinBreakline || 0  || ブレイクラインの種類
| ||  ||  ||
|-
| EConstraintType || bcTinBreakline || 0  || ブレイクライン型
|-  
|-  
| || bcTinBoundary || 1 || バウンダリー型
| || bcTinBoundary || 1 || バウンダリー型
|-  
|-  
| || bcTinWall || 2 || 壁型
| || bcTinWall || 2 || 壁型
|-
| ||  ||  ||
|-  
|-  
| EBreaklineType || bcTinBreaklineNomal || 0 || 通常ブレイクライン
| EBreaklineType || bcTinBreaklineNomal || 0 || 通常ブレイクライン
|-  
|-  
| || bcTinNonDestructive || 1  || 非破壊ブレイクライン
| || bcTinNonDestructive || 1  || 非破壊ブレイクライン
|-
| ||  ||  ||
|-  
|-  
| EIntersectionElevation || bcTinNotAllowed || 0 || 誤った状態・結果を示す。
| EIntersectionElevation || bcTinNotAllowed || 0 || 誤った状態・結果を示す。
317行目: 474行目:
|-  
|-  
| || bcTinElevationMid || 3 || 平均/中位標高を指定する。
| || bcTinElevationMid || 3 || 平均/中位標高を指定する。
|-
| ||  ||  ||
|-  
|-  
| EWallType || bcTinWallNomal || 0 || 通常壁タイプ
| EWallType || bcTinWallNomal || 0 || 通常壁タイプ
|-  
|-  
| || bcTinWallProjected || 1 || プロジェクション壁タイプ
| || bcTinWallProjected || 1 || プロジェクション壁タイプ
|-
| ||  ||  ||
|-  
|-  
| EWallSide || bcTinWallLeft || 0 || 左側壁タイプ
| EWallSide || bcTinWallLeft || 0 || 左側壁タイプ
|-  
|-  
| || bcTinWallRight || 1 || 右側壁タイプ
| || bcTinWallRight || 1 || 右側壁タイプ
|-
| ||  ||  ||
|-  
|-  
| EBoundaryType || bcTinShow || 0 || 境界内のtinを表示する
| EBoundaryType || bcTinShow || 0 || 境界内のtinを表示する
331行目: 494行目:
|-  
|-  
| || bcTinOuter || 2 || boundaryは外側の境界線(「クリップ」)。
| || bcTinOuter || 2 || boundaryは外側の境界線(「クリップ」)。
|-
| ||  ||  ||
|-  
|-  
| ECropType || bcTinRemoveBreaklines || 0 || ブレイクラインを削除
| ECropType || bcTinRemoveBreaklines || 0 || ブレイクラインを削除
|-  
|-  
| || bcTinLeaveBreaklines || 1 || ブレイクラインを保つ
| || bcTinLeaveBreaklines || 1 || ブレイクラインを保つ
|-
| ||  ||  ||
|-  
|-  
| EVolumeMethod || bcTinVolumeSimplePrisms || 0 || 正味の体積を返すだけで、表面は同じ境界を持つ必要がある。
| EVolumeMethod || bcTinVolumeSimplePrisms || 0 || 正味の体積を返すだけで、表面は同じ境界を持つ必要がある。
347行目: 514行目:
|-  
|-  
| || bcTinVolumeIsopachytesDrape || 5 ||
| || bcTinVolumeIsopachytesDrape || 5 ||
|-
| ||  ||  ||
|-  
|-  
| ECivilLabelImportFlags || bcTinCivil3dNoLabels || 0 || インポートラベルなし
| ECivilLabelImportFlags || bcTinCivil3dNoLabels || 0 || インポートラベルなし
352行目: 521行目:
| || bcTinCivil3dSurfaceLabels || 1 || インポートする表面ラベル
| || bcTinCivil3dSurfaceLabels || 1 || インポートする表面ラベル
|-  
|-  
| || bcTinCivil3dAlignmentsLabels || 2 || インポートするアライメントラベル
| || bcTinCivil3dAlignmentsLabels || 2 || インポートする線形ラベル
|-  
|-  
| || bcTinCivil3dUnattachedLabels || 4 || インポートする未貼付のラベル
| || bcTinCivil3dUnattachedLabels || 4 || インポートする未貼付のラベル
361行目: 530行目:
|-  
|-  
| || bcTinCivil3dAllLabels || 255 || ラベルはすべて取り込み
| || bcTinCivil3dAllLabels || 255 || ラベルはすべて取り込み
|-
| ||  ||  ||
|-  
|-  
| ETinGradingSide || bcTinGradingSideNone || -1
| ETinGradingSide || bcTinGradingSideNone || -1
368行目: 539行目:
| || bcTinGradingSideRight || 1 || 右側グレーディング
| || bcTinGradingSideRight || 1 || 右側グレーディング
|-
|-
| ||  ||  ||
|-
| ETinGradingType || bcTinGradingTypeNone || -1 || 未定義のグレーディングタイプ
| ETinGradingType || bcTinGradingTypeNone || -1 || 未定義のグレーディングタイプ
|-  
|-  
373行目: 546行目:
|-  
|-  
| || bcTinGradingTypeSlopeOffset || 1 || スロープオフセットタイプ  
| || bcTinGradingTypeSlopeOffset || 1 || スロープオフセットタイプ  
|-
| ||  ||  ||
|-  
|-  
| ETinSlopeFormat || bcTinSlopeNoFormat || -1
| ETinSlopeFormat || bcTinSlopeNoFormat || -1
383行目: 558行目:
|-  
|-  
| || bcTinSlopeRadians || 3 || ラジアンを使用
| || bcTinSlopeRadians || 3 || ラジアンを使用
|-
| ||  ||  ||
|-  
|-  
| ETinGradingCalculationMethod || bcTinGradingAccurate || 0 || 精密計算を使用
| ETinGradingCalculationMethod || bcTinGradingAccurate || 0 || 精密計算を使用
388行目: 565行目:
| || bcTinGradingFast || 1 || 高速計算を使用(少し精度が落ちる)
| || bcTinGradingFast || 1 || 高速計算を使用(少し精度が落ちる)
|-
|-
| ||  ||  ||
|-
| ETinGradingVisualStyle (bit flags) || bcTinGradingDrawNothing || 0 || 非可視化
| ETinGradingVisualStyle (bit flags) || bcTinGradingDrawNothing || 0 || 非可視化
|-  
|-  
395行目: 574行目:
|-  
|-  
| || bcTinGradingDrawDaylight || 4 || 昼光輪郭表示をビジュアル化
| || bcTinGradingDrawDaylight || 4 || 昼光輪郭表示をビジュアル化
|-
| ||  ||  ||
|-  
|-  
| ETinGradingStatus (bit flags) || bcTinGradingNoStatus || 0 ||  
| ETinGradingStatus (bit flags) || bcTinGradingNoStatus || 0 ||  
429行目: 610行目:
|-  
|-  
|}
|}
[[Category:BricsCADのLISP]]

2024年9月27日 (金) 21:26時点における最新版

BricsCAD の Tin + Civil関数 について

V21以降、BricsCAD LISPは TinSurface + Civil機能専用のインターフェイスを提供している。(「PRO」ライセンスが必要) この新しいAPI部分は、シンプルで柔軟性があり、名前、引数、動作、結果において通常の AutoLISP のロジックに従うように設計されている。

  • TinSurface + Civil 機能は BricsCAD Professional ("PRO") ライセンス レベルを必要とするため、下位レベルのライセンスを使用する場合 (または RunAsLevel=0 などで無効にする場合)、API モジュールはアクティブではなく、すべての TinSurface LISP API 機能は「無操作」モードで作動する。
  • TinSurface + Civilの開発が常に継続されているため、BRXおよびLISP APIも拡張され、より多くの機能を提供し、サードパーティ開発者からのアイデアやフィードバックも取り込まれている。


ライセンスレベルの確認方法は?

  • ( bcad$LicenseLevels ) と ( vle-licenselevel ) の2つのLisp関数があり、どちらも同じ実装を使用している。
  • TinSurfaceが使用可能な場合、返されるリストには "Professional "という文字列が含まれる。
  • "RunAsLevel "の設定も結果リストで尊重されます。

TinSurface LISP APIを有効にするには?

TinSurface(不規則三角形で構成されたサーフェス)+ Civil の LISP機能セットは明示的にロード/アクティブ化する必要がある。 (AutoCAD AutoLISPで必須の(vl-load-com)と似た使い方)。

(vl-load-tin) ; でロードする

すべてのコンテキスト条件 (PRO以上の実行レベル) が満たされている場合、拡張機能がロードされ、T (または TinSurface/Civil API 部分が利用できない場合は NIL) が返される。

いくつかの一般的なヒントとルール

「エンティティ名」の使用 : 関数が「エンティティ名」を必要とする場合、「クラシック名(ename)」と「vlaオブジェクト」の両方がサポートされている。

TinSurface + Civil API の関数一覧

とりあえず一覧。

Tin サーフェス関数

すべてのTin Surface関数は、接頭辞 "tin:" を使用。

Tinサーフェス作成関数


tin サーフェス get プロパティ 関数


tin サーフェスセットプロパティ関数


tin 定義関数


tinサーフェス編集関数


Civil3d Import

Tin サーフェス拘束関数

すべてのTinサーフェス拘束関数は、接頭辞: "tinc: "を使用。

Tin ボリュームサーフェス関数

すべてのTin VolumeSurface関数は、接頭辞 : "tinvs: "を使用。


Civilアライメント(線形)ビュー機能

シビル垂直線形ビュー(Civil Vertical AlignmentView)のすべての関数は、接頭辞 : "tinav:" を使用。

Civilグレーディング(造成)関数

すべてのCivil Grading関数は、接頭辞: "tingr: "を使用


Civil3D 点変換関数 - V25.1で追加

Civil3Dの点変換に関連するすべての関数は、接頭辞 「civil:converter-」を使用する(「civil:get-converter 」を除く)。


Civil3D ポイントグループ関数 - V25.1で追加

すべての Civil3D ポイントグループ関連関数は、接頭辞 「civil:pgroup-」 を使用する。

ポイントグループは、ポイントグループのフィルタリストで定義された条件とフィルタリングに一致する Civil3D 点エンティティの論理的なコレクションである。

各ポイントグループには一意の名前と、関連する 64 ビット整数の「ハンドル」があり、dwg データベース内に格納される; Lispインターフェースは、文字列名と64ビット整数の 「ハンドル 」の両方をサポートしている。

Lispインターフェースは、ポイントグループにアクセスするための文字列名と64ビット整数の 「ハンドル 」の両方をサポートしている。「_All points 」名を使用するポイントグループは常に存在し、すべてのCivil3D 点エンティティを含む。

この特別なグループは変更できない(読み取り専用)。ポイントグループ関連関数では、フィルタ定義のクエリや変更を含め、1 つの ポイントグループをクエリおよび編集できる:

ポイントグループ関連関数 - V25.1で追加

"PointGroups" は、dwgデータベース内に格納されているすべての点グループ オブジェクトのコレクションで、点グループオブジェクトの作成、照会、編集、削除を行うことができる。

Civil3D 点関数 - V25.1で追加

すべての Civil3D 点関連関数は、接頭辞 「civil:point-」 を使用する。

Civil3D 点はカスタムエンティティとして表現され、番号、名前、生の説明、完全な説明、東経(X)、北緯(Y)、標高(Z)のような多くのプロパティによって定義され、ラベルスタイル、ラベル回転、ラベル位置、ラベルドラッグ、ラベルピン留め、シンボルスタイル、シンボル回転のようないくつかの仕様を使用する。


各点は 0以上の一意な番号を持ち(負の値は許されない)、dwgデータベース内に格納された64ビット整数の 「ハンドル 」によってアクセスされる; Lisp インターフェースは、64 ビット整数の「ハンドル」を使用して Point にアクセスし、プロパティを読み書きする。

Civil3D 点 は、点グループのフィルタリストに基づき、複数の 点グループのメンバになることができます。

点 関連関数を使用すると、1 つの Civil3D 点を照会および編集できる:

スナップショット関数

TinSurface型定数

Lispの定義済み定数は多数あり、ほとんどの場合、これらの定数は次のように組み合わせることができる。

(+ bcTinStyleTriangles bcTinStyleContours)
12


変数名/シンボル名 整数 Tinサーフェス タイプ
bcTinStyleNone 0 clears all Tinサーフェススタイル
bcTinStyleBoundary 1 Tinサーフェスに境界を表示することができる。
bcTinStylePoints 2 Tinサーフェス上に点を表示することができる。
bcTinStyleTriangles 4 Tinサーフェスに三角形を表示することができる。
bcTinStyleContours 8 Tinサーフェスに高さコンターを表示することができる。
bcTinStyleElevationTooltip 16 Tinサーフェスにツールチップを表示できる。
bcTinMeshTypeElevation 1 メッシュ生成:標高を指定
bcTinMeshTypeDepth 2 メッシュ生成:深さ指定
bcTin3dSolidTypeElevation 1 3Dソリッド生成:高さ指定
bcTin3dSolidTypeDepth 2 3Dソリッド生成:深さ指定
bcTinVolumeBaseComparison 0 ボリュームサーフェス : 基準は底面高さ
bcTinVolumeToElevation 1 ボリュームサーフェス : 基準は標高値
bcTinVolumeToDepth 2 ボリュームサーフェス : 基準は深さ値
bcTinNoAlignmentView 0 非線形ビューエンティティ
bcTinAlignmentView 1 汎用線形ビューエンティティ
bcTinVAlignmentView 2 垂直線形ビューエンティティ
EConstraintType bcTinBreakline 0 ブレイクライン型
bcTinBoundary 1 バウンダリー型
bcTinWall 2 壁型
EBreaklineType bcTinBreaklineNomal 0 通常ブレイクライン
bcTinNonDestructive 1 非破壊ブレイクライン
EIntersectionElevation bcTinNotAllowed 0 誤った状態・結果を示す。
bcTinElevationMin 1 最低標高を指定する
bcTinElevationMax 2 最大標高を指定する
bcTinElevationMid 3 平均/中位標高を指定する。
EWallType bcTinWallNomal 0 通常壁タイプ
bcTinWallProjected 1 プロジェクション壁タイプ
EWallSide bcTinWallLeft 0 左側壁タイプ
bcTinWallRight 1 右側壁タイプ
EBoundaryType bcTinShow 0 境界内のtinを表示する
bcTinHide 1 tin を境界の内側に隠す("穴")。
bcTinOuter 2 boundaryは外側の境界線(「クリップ」)。
ECropType bcTinRemoveBreaklines 0 ブレイクラインを削除
bcTinLeaveBreaklines 1 ブレイクラインを保つ
EVolumeMethod bcTinVolumeSimplePrisms 0 正味の体積を返すだけで、表面は同じ境界を持つ必要がある。
bcTinVolumeIsopachytes 1 未実施
bcTinVolumeComplexPrisms 2 フィル/カット・ボリューム
bcTinVolumeElevation 3 ボリュームを標高に固定する。
bcTinVolumeDepth 4 ボリュームからオフセット面へ
bcTinVolumeIsopachytesDrape 5
ECivilLabelImportFlags bcTinCivil3dNoLabels 0 インポートラベルなし
bcTinCivil3dSurfaceLabels 1 インポートする表面ラベル
bcTinCivil3dAlignmentsLabels 2 インポートする線形ラベル
bcTinCivil3dUnattachedLabels 4 インポートする未貼付のラベル
いくつかのプリセットな組み合わせ :
bcTinCivil3dDefaultLabels 6 bcTinCivil3dSurfaceLabels + bcTinCivil3dUnattachedLabels
bcTinCivil3dAllLabels 255 ラベルはすべて取り込み
ETinGradingSide bcTinGradingSideNone -1
bcTinGradingSideLeft 0 右側グレーディング
bcTinGradingSideRight 1 右側グレーディング
ETinGradingType bcTinGradingTypeNone -1 未定義のグレーディングタイプ
bcTinGradingTypeSlopeSurface 0 サーフェスタイプ
bcTinGradingTypeSlopeOffset 1 スロープオフセットタイプ
ETinSlopeFormat bcTinSlopeNoFormat -1
bcTinSlopeRiseRun 0 ライズランフォーマット使用
bcTinSlopeDegrees 1 度を使用
bcTinSlopePercent 2 パーセントを使用
bcTinSlopeRadians 3 ラジアンを使用
ETinGradingCalculationMethod bcTinGradingAccurate 0 精密計算を使用
bcTinGradingFast 1 高速計算を使用(少し精度が落ちる)
ETinGradingVisualStyle (bit flags) bcTinGradingDrawNothing 0 非可視化
bcTinGradingDrawSurface 1 サーフェスをビジュアル化
bcTinGradingDrawRays 2 光線をビジュアル化
bcTinGradingDrawDaylight 4 昼光輪郭表示をビジュアル化
ETinGradingStatus (bit flags) bcTinGradingNoStatus 0
bcTinGradingOk 1
bcTinGradingUpdateNeeded 2
bcTinGradingIncorrectInputData 4
bcTinGradingSurfaceMissing 8
bcTinGradingRuleMissing 16
bcTinGradingInputDataOutsideSurface 32
bcTinGradingGradingOutsideSurface 64
bcTinGradingOffsetFailed 128
bcTinGradingMultipleOffsetResult 256
bcTinGradingZeroGrading 512
bcTinGradingUnknownError 1024
bcTinGradingInputDataMissing 2048
bcTinGradingInvalidInput 4096
bcTinGradingInvalidRule 8192
bcTinGradingTimeout 16384