「Tin関数-BricsCAD」の版間の差分
 (ページの作成:「{{BCAD_LISP}} ==BricsCAD の Tin + Civil関数 について== V21以降、BricsCAD LISPは TinSurface + Civil機能専用のインターフェイスを提供している…」)  | 
				|||
| 29行目: | 29行目: | ||
== TinSurface + Civil APIの関数 ==  | == TinSurface + Civil APIの関数 ==  | ||
*   | * tinサーフェス関数-bricscad_bim|Tin サーフェス関数  | ||
*   | * tinサーフェス拘束関数-bricscad_bim|Tin サーフェス拘束関数  | ||
*   | * tin ボリュームサーフェス関数-bricscad_bim|Tin ボリュームサーフェス関数  | ||
*   | * civilアライメントビュー機能-bricscad_bim|Civilアライメントビュー機能  | ||
*   | * civilグレーディング関数-bricscad_bim|Civilグレーディング関数  | ||
== TinSurface型定数 ==  | |||
Lispの定義済み定数は多数あり、ほとんどの場合、これらの定数は次のように組み合わせることができる。  | |||
(+ bcTinStyleTriangles bcTinStyleContours) のように組み合わせることができる。  | |||
{| class="wikitable"   | |||
! !! 変数名/シンボル名 !! 整数 !! TinSurface タイプ  | |||
|-   | |||
| || bcTinStyleNone || 0 || clears all TinSurfaceスタイル  | |||
|-   | |||
| || bcTinStyleBoundary || 1 || TinSurfaceにBoundariesを表示することができる。  | |||
|-   | |||
| || bcTinStylePoints || 2 || TinSurface上にPointsを表示することができる。  | |||
|-   | |||
| || bcTinStyleTriangles || 4 || TinSurfaceにTriangleを表示することができる。  | |||
|-   | |||
| || bcTinStyleContours || 8 || TinSurfaceにHeight Contoursを表示することができる。  | |||
|-   | |||
| || bcTinStyleElevationTooltip || 16 || TinSurfaceにToolTipを表示できる。  | |||
|-   | |||
| || bcTinMeshTypeElevation || 1 || メッシュ生成:標高を指定  | |||
|-   | |||
| || bcTinMeshTypeDepth || 2 || メッシュ生成:深さ指定  | |||
|-   | |||
| || bcTin3dSolidTypeElevation || 1 || 3dSolid生成:高さ指定  | |||
|-   | |||
| || bcTin3dSolidTypeDepth || 2 || 3dソリッド生成:深さ指定  | |||
|-   | |||
| || bcTinVolumeBaseComparison || 0 || VolumeSurface : 基準は底面高さ  | |||
|-   | |||
| || bcTinVolumeToElevation || 1 || VolumeSurface : 基準は標高値  | |||
|-   | |||
| || bcTinVolumeToDepth || 2 || VolumeSurface : 基準は深さ値  | |||
|-   | |||
| || 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 || インポートする未貼付のラベル  | |||
|-   | |||
| || some preset combinations : || ||   | |||
|-   | |||
| || bcTinCivil3dDefaultLabels || 6 || bcTinCivil3dSurfaceLabels + bcTinCivil3dUnattachedLabels  | |||
|-   | |||
| || bcTinCivil3dAllLabels || 255 || all labels shall be imported  | |||
|-   | |||
| ETinGradingSide || bcTinGradingSideNone || -1  | |||
|-   | |||
| || bcTinGradingSideLeft || 0 || grading at left side  | |||
|-   | |||
| || bcTinGradingSideRight || 1 || grading at right side  | |||
|-  | |||
| ETinGradingType || bcTinGradingTypeNone || -1 || undefined grading type  | |||
|-   | |||
| || bcTinGradingTypeSlopeSurface || 0 || surface type  | |||
|-   | |||
| || bcTinGradingTypeSlopeOffset || 1 || slope offset type   | |||
|-   | |||
| ETinSlopeFormat || bcTinSlopeNoFormat || -1  | |||
|-   | |||
| || bcTinSlopeRiseRun || 0 || using rise-run format  | |||
|-   | |||
| || bcTinSlopeDegrees || 1 || using degrees  | |||
|-   | |||
| || bcTinSlopePercent || 2 || using percentage  | |||
|-   | |||
| || bcTinSlopeRadians || 3 || using radians  | |||
|-   | |||
| ETinGradingCalculationMethod || bcTinGradingAccurate || 0 || using precise calculation  | |||
|-   | |||
| || bcTinGradingFast || 1 || using fast calculation (bit less precise)  | |||
|-  | |||
| ETinGradingVisualStyle (bit flags) || bcTinGradingDrawNothing || 0 || no visualisation  | |||
|-   | |||
| || bcTinGradingDrawSurface ||1 || visualise the surface  | |||
|-   | |||
| || bcTinGradingDrawRays ||2 || visualise rays  | |||
|-   | |||
| || bcTinGradingDrawDaylight || 4 || visualise daylight contour  | |||
|-   | |||
| 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 ||   | |||
|-   | |||
|}  | |||
2022年8月9日 (火) 06:27時点における版
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機能セットはBRXコアシステムを使用して実装されているため、.NETを使用してTinSurface + Civil LISPインタフェース機能を明示的にロード/アクティブ化する必要がある。 (AutoCAD AutoLISPで必須の(vl-load-com)と似た使い方)。
(vl-load-tin) ; でロードする
すべてのコンテキスト条件 (PRO以上の実行レベル) が満たされている場合、拡張機能がロードされ、T (または TinSurface/Civil API 部分が利用できない場合は NIL) が返される。
いくつかの一般的なヒントとルール
「エンティティ名」の使用 : 関数が「エンティティ名」を必要とする場合、「クラシック名」と「vlaオブジェクト」の両方が常に有効であり、サポートされている。
TinSurface + Civil APIの関数
- tinサーフェス関数-bricscad_bim|Tin サーフェス関数
 
- tinサーフェス拘束関数-bricscad_bim|Tin サーフェス拘束関数
 - tin ボリュームサーフェス関数-bricscad_bim|Tin ボリュームサーフェス関数
 - civilアライメントビュー機能-bricscad_bim|Civilアライメントビュー機能
 - civilグレーディング関数-bricscad_bim|Civilグレーディング関数
 
TinSurface型定数
Lispの定義済み定数は多数あり、ほとんどの場合、これらの定数は次のように組み合わせることができる。
(+ bcTinStyleTriangles bcTinStyleContours) のように組み合わせることができる。
| 変数名/シンボル名 | 整数 | TinSurface タイプ | |
|---|---|---|---|
| bcTinStyleNone | 0 | clears all TinSurfaceスタイル | |
| bcTinStyleBoundary | 1 | TinSurfaceにBoundariesを表示することができる。 | |
| bcTinStylePoints | 2 | TinSurface上にPointsを表示することができる。 | |
| bcTinStyleTriangles | 4 | TinSurfaceにTriangleを表示することができる。 | |
| bcTinStyleContours | 8 | TinSurfaceにHeight Contoursを表示することができる。 | |
| bcTinStyleElevationTooltip | 16 | TinSurfaceにToolTipを表示できる。 | |
| bcTinMeshTypeElevation | 1 | メッシュ生成:標高を指定 | |
| bcTinMeshTypeDepth | 2 | メッシュ生成:深さ指定 | |
| bcTin3dSolidTypeElevation | 1 | 3dSolid生成:高さ指定 | |
| bcTin3dSolidTypeDepth | 2 | 3dソリッド生成:深さ指定 | |
| bcTinVolumeBaseComparison | 0 | VolumeSurface : 基準は底面高さ | |
| bcTinVolumeToElevation | 1 | VolumeSurface : 基準は標高値 | |
| bcTinVolumeToDepth | 2 | VolumeSurface : 基準は深さ値 | |
| 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 | インポートする未貼付のラベル | |
| some preset combinations : | |||
| bcTinCivil3dDefaultLabels | 6 | bcTinCivil3dSurfaceLabels + bcTinCivil3dUnattachedLabels | |
| bcTinCivil3dAllLabels | 255 | all labels shall be imported | |
| ETinGradingSide | bcTinGradingSideNone | -1 | |
| bcTinGradingSideLeft | 0 | grading at left side | |
| bcTinGradingSideRight | 1 | grading at right side | |
| ETinGradingType | bcTinGradingTypeNone | -1 | undefined grading type | 
| bcTinGradingTypeSlopeSurface | 0 | surface type | |
| bcTinGradingTypeSlopeOffset | 1 | slope offset type | |
| ETinSlopeFormat | bcTinSlopeNoFormat | -1 | |
| bcTinSlopeRiseRun | 0 | using rise-run format | |
| bcTinSlopeDegrees | 1 | using degrees | |
| bcTinSlopePercent | 2 | using percentage | |
| bcTinSlopeRadians | 3 | using radians | |
| ETinGradingCalculationMethod | bcTinGradingAccurate | 0 | using precise calculation | 
| bcTinGradingFast | 1 | using fast calculation (bit less precise) | |
| ETinGradingVisualStyle (bit flags) | bcTinGradingDrawNothing | 0 | no visualisation | 
| bcTinGradingDrawSurface | 1 | visualise the surface | |
| bcTinGradingDrawRays | 2 | visualise rays | |
| bcTinGradingDrawDaylight | 4 | visualise daylight contour | |
| 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 |