Tin関数-BricsCAD
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 と Civil のLISP APIを有効にするには?
TinSurface(不規則三角形で構成されたサーフェス)+ Civil の LISP機能セットは明示的にロード/アクティブ化する必要がある。 (AutoCAD AutoLISPで必須の(vl-load-com)と似た使い方)。
(vl-load-tin) ; tinサーフェス系APIをロードする (vl-load-civi) ; Civil3D系 APIをロードする
すべてのコンテキスト条件 (PRO以上の実行レベル) が満たされている場合、拡張機能がロードされ、T (または TinSurface/Civil API 部分が利用できない場合は NIL) が返される。
いくつかの一般的なヒントとルール
「エンティティ名」の使用 : 関数が「エンティティ名」を必要とする場合、「クラシック名(ename)」と「vlaオブジェクト」の両方がサポートされている。
TinSurface + Civil API の関数一覧
とりあえず一覧。
Tin サーフェス関数
すべてのTin Surface関数は、接頭辞 "tin:" を使用。
Tinサーフェス作成関数
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:isautoupdate V24.2で追加
 - tin:isrebuildpossible V24.2で追加
 - tin:isupdateneeded V24.2で追加
 - tin:istinsurface
 
tin サーフェスセットプロパティ関数
- tin:setautoupdate V24.2で追加
 - tin:setdescription
 - tin:setisassociative
 - tin:setmajorcontoursinterval
 - tin:setmajorcontourscolor
 - tin:setmajorcontoursinterval
 - tin:setminorcontourscolor
 - tin:setminorcontoursinterval
 - tin:setname
 - tin:setstyle
 - tin:setsurfaceelevation
 
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 サーフェス拘束関数
すべてのTinサーフェス拘束関数は、接頭辞: "tinc: "を使用。
tinサーフェス拘束の作成 関数
tinサーフェス拘束の get プロパティ関数
tinサーフェス拘束の set プロパティ関数
Tin ボリュームサーフェス関数
すべてのTin VolumeSurface関数は、接頭辞 : "tinvs: "を使用。
- Tin ボリュームサーフェスの作成関数
 
Civil 線形ビュー機能 (alingnment)
シビル垂直線形ビュー(Civil Vertical AlignmentView)のすべての関数は、接頭辞 : "tinav:" を使用。
Civil垂直線形ビュー作成関数
シビル線形ビュー get プロパティ関数
- tinav:alignmentviewtype
 - tinav:isalignmentview
 - tinav:isverticalalignmentview
 - tinav:ishorizontalalignment
 - tinav:isverticalalignment
 - tinav:getbaseelevation
 - tinav:getgraphat
 - tinav:getgraphcount
 - tinav:gethalignment
 - tinav:getheight
 - tinav:gethorizontalscale
 - tinav:getlength
 - tinav:getorigin
 - tinav:getverticalscale
 
シビル垂直線形ビュー set プロパティ関数
- tinav:setbaseelevation
 - tinav:sethalignment
 - tinav:setheight
 - tinav:sethorizontalscale
 - tinav:setlength
 - tinav:setorigin
 - tinav:setverticalscale
 
シビル垂直線形ビュー 編集関数
Civilグレーディング(造成)関数
すべてのCivil Grading関数は、接頭辞: "tingr: "を使用
グレーディング 作成関数
Tin Gradingエンティティを作成し、そのグレーディングルールを定義する。 グレーディングは拡張された TinSurface エンティティの一種なので、すべての TinSurface プロパティ関数はグレーディングエンティティにも使用できる。
グレーディング get プロパティ関数
- tingr:istingrading
 - tingr:get-calculationmethod
 - tingr:get-cutslope
 - tingr:get-fillslope
 - tingr:get-isassociative
 - tingr:get-isclosed
 - tingr:get-isdrawinfill
 - tingr:get-gradingentity
 - tingr:get-gradingtype
 - tingr:get-midordinatedist
 - tingr:get-offset
 - tingr:get-regionend
 - tingr:get-regionstart
 - tingr:get-resultdaylight
 - tingr:get-segmentmaxangle
 - tingr:get-segmentmaxlength
 - tingr:get-slope
 - tingr:get-slopeformat
 - tingr:get-slopeside
 - tingr:get-targetsurface
 - tingr:get-visualstyle
 
グレーディング set プロパティ関数
- tingr:set-calculationmethod
 - tingr:set-cutslope
 - tingr:set-fillslope
 - tingr:set-isassociative
 - tingr:set-isdrawinfill
 - tingr:set-gradingentity
 - tingr:set-midordinatedist
 - tingr:set-offset
 - tingr:set-regionend
 - tingr:set-regionstart
 - tingr:set-segmentmaxangle
 - tingr:set-segmentmaxlength
 - tingr:set-slope
 - tingr:set-slopeformat
 - tingr:set-slopeside
 - tingr:set-visualstyle
 
グレーディング ユーティリティ関数
Civil3D 点変換関数 - V25.1で追加
Civil3Dの点変換に関連するすべての関数は、接頭辞 「civil:converter-」を使用する(「civil:get-converter 」を除く)。
- 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
 
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 点を照会および編集できる:
 
- 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
 
Civil3D 一般スタイル関数 - V25.2で追加
- Civil3D の一般スタイル関数はすべて接頭辞 "civil:style-" を使用する。
 - これらの関数は、任意の「Civil3D Label Style」オブジェクト、および任意の「Civil3D Symbol Style」オブジェクトで使用できる。
 
Civil3D ラベル スタイル関数 - V25.2で追加
- Civil3D のラベルスタイル機能は、すべて接頭辞「 civil:style- 」を使用する。
 - V25.2以降、Civil3Dラベルスタイル Civil3Dのポイント+サーフェスエンティティで機能が利用可能になった。
 - - 将来のBricsCADバージョンでより多くのCivil3Dエンティティのラベルスタイル機能がさらに追加される可能性がある。
 
Civil3D シンボル スタイル関数 - V25.2で追加
- Civil3D のシンボルスタイル機能は、すべて接頭辞「 civil:style- 」を使用する。
 - V25.2以降、Civil3Dシンボルスタイル Civil3Dのポイント+サーフェスエンティティで機能が利用可能になった。
 - - 将来のBricsCADバージョンでより多くのCivil3Dエンティティのシンボルスタイル機能がさらに追加される可能性がある。
 
Civil3D スタイル関数 - V25.2で追加
- Civil3D スタイル関数は、すべて接頭辞「 civil:style- 」を使用する。
 - これらの関数は、現在の図面のCivil3Dラベルとシンボルスタイルのためのいくつかの基本的な機能を提供する。
 
スナップショット関数
- tin:createsnapshot V24.2で追加
 - tin:hassnapshot V24.2で追加
 - tin:needsnapshotupdate V24.2で追加
 - tin:rebuildsnapshot V24.2で追加
 - tin:removesnapshot V24.2で追加
 
TinSurface Type 定数
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 | 
Civil3d Type 定数
多くの場合、これらの記号定数は次のように組み合わせることができる
(+ bcTinCivil3dSurfaceLabels bcTinCivil3dAlignmentsLabels) 3
| 変数名/シンボル名 | 整数 | 内容 | |
|---|---|---|---|
| ECivilLabelImportFlags | bcTinCivil3dNoLabels | 0 | インポートするラベルがない | 
| bcTinCivil3dSurfaceLabels | 1 | インポートされるサーフェスラベル | |
| bcTinCivil3dAlignmentsLabels | 2 | インポートされる線形ラベル | |
| bcTinCivil3dUnattachedLabels | 4 | インポートされる未アタッチラベル | |
| いくつかのプリセットの組み合わせ : | |||
| bcTinCivil3dDefaultLabels | 6 | bcTinCivil3dSurfaceLabels + bcTinCivil3dUnattachedLabels | |
| bcTinCivil3dAllLabels | 255 | ラベルはすべて挿入 | |
| ECivil3dEntityType | bcC3dTypeNoEntity | -1 | エンティティはどのC3Dタイプでもない。 | 
| bcC3dTypeAlignment | 0 | エンティティは C3D 線形エンティティである。 | |
| bcC3dTypeProfile | 1 | エンティティは C3D プロファイルエンティティである。 | |
| bcC3dTypeTinSurface | 2 | エンティティは C3D Tinサーフェスエンティティである。 | |
| bcC3dTypeProfileView | 3 | エンティティは C3D プロファイルビューエンティティである。 | |
| ECivil3dAlignmentType | bcC3dNotAlignment | -1 | どの線形タイプでもない | 
| bcC3dCenterline | 0 | 線形はセンターライン | |
| bcC3dOffset | 1 | 線形はオフセット | |
| bcC3dCurbReturn | 2 | 線形はカーブリターン | |
| bcC3dRail | 3 | 線形は線路 | |
| bcC3dMiscellaneous | 4 | 線形はその他 | |
| ECivil3dProfileType | bcC3dNotProfile | -1 | プロファイルタイプではない | 
| bcC3dLayout | 0 | プロファイルはレイアウト | |
| bcC3dStaticSurface | 1 | プロファイルは静的サーフェス | |
| bcC3dDynamicSurface | 2 | プロファイルはダイナミックサーフェス | |
| bcC3dQuick | 3 | プロファイルはクイック |