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

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{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 サーフェス拘束関数]]
* tinサーフェス拘束関数-bricscad_bim|Tin サーフェス拘束関数
* [[tin ボリュームサーフェス関数-bricscad_bim|Tin ボリュームサーフェス関数]]
* tin ボリュームサーフェス関数-bricscad_bim|Tin ボリュームサーフェス関数
* [[civilアライメントビュー機能-bricscad_bim|Civilアライメントビュー機能]]
* civilアライメントビュー機能-bricscad_bim|Civilアライメントビュー機能
* [[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