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

提供:GizmoLabs - だいたい CAD LISP なサイト
28行目: 28行目:


== TinSurface + Civil APIの関数 ==
== TinSurface + Civil APIの関数 ==
=== Tin サーフェス関数 ===
<div class="mcol2">
<div class="mcol2">
* Tin サーフェス関数
* すべてのTin Surface関数は、接頭辞 : "tin:" を使用。
* すべてのTin Surface関数は、接頭辞 : "tin:" を使用。
** Tinサーフェス作成関数
** Tinサーフェス作成関数
98行目: 98行目:
*** [[tin:importcivil3d]]
*** [[tin:importcivil3d]]


* tin サーフェス拘束関数
</div>
* すべてのTinサーフェス制約関数は、接頭辞: "tinc: "を使用。
** tinサーフェス拘束の作成 関数
*** [[tinc:createboundarybypoints]]
*** [[tinc:createboundarybyentity]]
*** [[tinc:createbreaklinebypoints]]
*** [[tinc:createbreaklinebyentity]]
*** [[tinc:createwallbypoints]]
*** [[tinc:createwallbyentity]]
** tinサーフェス拘束の get プロパティ関数
*** [[tinc:getallconstraints]]
*** [[tinc:getboundarytype]]
*** [[tinc:getbreaklinetype]]
*** [[tinc:getbreaklineelevation]]
*** [[tinc:getconstraintid]]
*** [[tinc:getconstrainttype]]
*** [[tinc:getwallheight]]
*** [[tinc:getwallside]]
*** [[tinc:getwalltype]]
*** [[tinc:isvalidconstraint]]
*** [[tinc:getmidordinatedistance]]
** tinサーフェス拘束の set プロパティ関数
*** [[tinc:setbreaklineelevation]]
*** [[tinc:setwallheight]]
*** [[tinc:setwallside]]
*** [[tinc:setmidordinatedistance]]


* Tin ボリュームサーフェス関数
=== tin サーフェス拘束関数 ===
* すべてのTin VolumeSurface関数は、接頭辞 : "tinvs: "を使用。
すべてのTinサーフェス拘束関数は、接頭辞: "tinc: "を使用。
** Tin ボリュームサーフェスの作成関数
<div class="mcol2">
*** [[tinvs:createbysurfaceandentity]]
* tinサーフェス拘束の作成 関数
*** [[tinvs:createbysurfaceandpoints]]
** [[tinc:createboundarybypoints]]
*** [[tinvs:createby2surfacesandentity]]
** [[tinc:createboundarybyentity]]
*** [[tinvs:createby2surfacesandpoints]]
** [[tinc:createbreaklinebypoints]]
** Tin ボリュームサーフェスの getプロパティ関数
** [[tinc:createbreaklinebyentity]]
*** [[tinvs:getbasesurface]]
** [[tinc:createwallbypoints]]
*** [[tinvs:getboundingentity]]
** [[tinc:createwallbyentity]]
*** [[tinvs:getboundingpolygon]]
* tinサーフェス拘束の get プロパティ関数
*** [[tinvs:getcomparisonsurface]]
** [[tinc:getallconstraints]]
*** [[tinvs:getcutvolume]]
** [[tinc:getboundarytype]]
*** [[tinvs:getfillvolume]]
** [[tinc:getbreaklinetype]]
*** [[tinvs:getdepthorelevation]]
** [[tinc:getbreaklineelevation]]
*** [[tinvs:isvolumesurface]]
** [[tinc:getconstraintid]]
*** [[tinvs:volumesurfacetype]]
** [[tinc:getconstrainttype]]
** [[tinc:getwallheight]]
** [[tinc:getwallside]]
** [[tinc:getwalltype]]
** [[tinc:isvalidconstraint]]
** [[tinc:getmidordinatedistance]]
* tinサーフェス拘束の set プロパティ関数
** [[tinc:setbreaklineelevation]]
** [[tinc:setwallheight]]
** [[tinc:setwallside]]
** [[tinc:setmidordinatedistance]]
 
</div>
=== Tin ボリュームサーフェス関数 ===
すべてのTin VolumeSurface関数は、接頭辞 : "tinvs: "を使用。
<div class="mcol2">
* Tin ボリュームサーフェスの作成関数
** [[tinvs:createbysurfaceandentity]]
** [[tinvs:createbysurfaceandpoints]]
** [[tinvs:createby2surfacesandentity]]
** [[tinvs:createby2surfacesandpoints]]
* Tin ボリュームサーフェスの getプロパティ関数
** [[tinvs:getbasesurface]]
** [[tinvs:getboundingentity]]
** [[tinvs:getboundingpolygon]]
** [[tinvs:getcomparisonsurface]]
** [[tinvs:getcutvolume]]
** [[tinvs:getfillvolume]]
** [[tinvs:getdepthorelevation]]
** [[tinvs:isvolumesurface]]
** [[tinvs:volumesurfacetype]]
 
</div>
=== Civilアライメントビュー機能 ===
Civil Vertical AlignmentViewのすべての関数は、接頭辞 : "tinav:" を使用。


* Civilアライメントビュー機能
<div class="mcol2">
* Civil Vertical AlignmentViewのすべての関数は、接頭辞 : "tinav:" を使用。
* Civilアライメントビュー作成関数
** Civilアライメントビュー作成関数
** [[tinav:createvalignmentview]]
*** [[tinav:createvalignmentview]]
* Civilアライメントビュー get プロパティ関数
** Civilアライメントビュー get プロパティ関数
** [[tinav:alignmentviewtype]]
*** [[tinav:alignmentviewtype]]
** [[tinav:isalignmentview]]
*** [[tinav:isalignmentview]]
** [[tinav:isverticalalignmentview]]
*** [[tinav:isverticalalignmentview]]
** [[tinav:ishorizontalalignment]]
*** [[tinav:ishorizontalalignment]]
** [[tinav:isverticalalignment]]
*** [[tinav:isverticalalignment]]
** [[tinav:getbaseelevation]]
*** [[tinav:getbaseelevation]]
** [[tinav:getgraphat]]
*** [[tinav:getgraphat]]
** [[tinav:getgraphcount]]
*** [[tinav:getgraphcount]]
** [[tinav:gethalignment]]
*** [[tinav:gethalignment]]
** [[tinav:getheight]]
*** [[tinav:getheight]]
** [[tinav:gethorizontalscale]]
*** [[tinav:gethorizontalscale]]
** [[tinav:getlength]]
*** [[tinav:getlength]]
** [[tinav:getorigin]]
*** [[tinav:getorigin]]
** [[tinav:getverticalscale]]
*** [[tinav:getverticalscale]]
* Civilアライメントビュー set プロパティ関数
** Civilアライメントビュー set プロパティ関数
** [[tinav:setbaseelevation]]
*** [[tinav:setbaseelevation]]
** [[tinav:sethalignment]]
*** [[tinav:sethalignment]]
** [[tinav:setheight]]
*** [[tinav:setheight]]
** [[tinav:sethorizontalscale]]
*** [[tinav:sethorizontalscale]]
** [[tinav:setlength]]
*** [[tinav:setlength]]
** [[tinav:setorigin]]
*** [[tinav:setorigin]]
** [[tinav:setverticalscale]]
*** [[tinav:setverticalscale]]
* Civilアライメントビュー編集関数
** Civilアライメントビュー編集関数
** [[tinav:fromwcspoint]]
*** [[tinav:fromwcspoint]]
** [[tinav:towcspoint]]
*** [[tinav:towcspoint]]
** [[tinav:removegraph]]
*** [[tinav:removegraph]]
** [[tinav:updateview]]
*** [[tinav:updateview]]


* Civilグレーディング関数
</div>
* すべてのCivil Grading関数は、接頭辞: "tingr: "を使用
** グレーディング 作成関数
** Tin Gradingエンティティを作成し、そのグレーディングルールを定義する。
** グレーディングは拡張された TinSurface エンティティの一種なので、すべての TinSurface プロパティ関数はグレーディングエンティティにも使用できる。
*** [[tingr:createtingrading]]
*** [[tingr:setsloperule]]
*** [[tingr:setsurfacerule]]
** グレーディング 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-regionstart]]
*** [[tingr:get-regionend]]
*** [[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]]


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


* グレーディング ユーティリティ関数
** [[tingr:convertradtoslope]]
** [[tingr:convertslopetorad]]
</div>
</div>



2022年8月23日 (火) 05:17時点における版

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 サーフェス関数

tin サーフェス拘束関数

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

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

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

Civilアライメントビュー機能

Civil Vertical AlignmentViewのすべての関数は、接頭辞 : "tinav:" を使用。

Civilグレーディング関数

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

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 インポートする未貼付のラベル
いくつかのプリセットな組み合わせ :
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