Tin+civil関数-BricsCAD

提供:GizmoLabs - だいたい CAD LISP なサイト
2024年11月16日 (土) 08:00時点におけるGizmon (トーク | 投稿記録)による版 (→‎Civil3D 点関数 - V25.1で追加)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

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 サーフェスセットプロパティ関数


tin 定義関数


tinサーフェス編集関数


Civil3d Import


Tin サーフェス拘束関数

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


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

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


Civil 線形ビュー機能 (alingnment)

シビル垂直線形ビュー(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 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)

変数名/シンボル名 整数 内容
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 プロファイルはクイック