Archive for category Civil 3D

Civil3D VLISP 三連発

お久しぶりでございます。

半年に1回の更新になってるのではないか?という Yuri Weblog です。
書籍の宣伝に成り下がってるので、ここら辺でマニアックすぎるネタを・・・。

その名も、Civil3D VLISP 三連発!!!

ダイアログなんかで操作してられないっすよ~、という私のために。
いまだにVLISPなの?どうなの?
.NETとか勉強する時間欲しいっす・・・。

;;
;;範囲指定して土量サーフェスを作成
;;1) 現況地形のサーフェスの名前を入力
;;2) コピー先のサーフェスの名前を入力
;;3) サーフェスの範囲をポリラインで指定
;;
(defun c:-createvolumesurface(
/
SourceSurfName
SourceSurfObj
CopySurfName
BoundaryPlineEname
BoundaryPlineObj
SsSurf
MeanElev
ContoursObj
)
;ユーザ入力
(while (or (not (setq SourceSurfName (getstring “\n現況地形のサーフェスの名前を入力:”))) (= SourceSurfName “”)))
(while (or (not (setq CopySurfName (getstring “\nグリッド範囲の名前を入力:”))) (= CopySurfName “”)))
(while (not (setq BoundaryPlineEname (entsel “\nグリッド範囲のポリラインを指示:”))))
(setq BoundaryPlineObj (vlax-ename->vla-object (car BoundaryPlineEname)))

;オブジェクト変換
(setq SsSurf (ssget “X” ‘((0 . “AECC_TIN_SURFACE”))))
(foreach n (y_ssname SsSurf)
(if (= SourceSurfName (vlax-get-property (vlax-ename->vla-object n) ‘Name))
(progn
(setq SourceSurfObj (vlax-ename->vla-object n))
(setq SsSurf nil)
)
)
)

;平均標高取得
(setq MeanElev (Pwr_MeanElevation SourceSurfObj BoundaryPlineObj))

;グリッド範囲サーフェス作成
;ポリライン標高変更
(y_dxfchange 38 MeanElev (entget (car BoundaryPlineEname)))
;サーフェス作成
(Pwr_CreateSurface CopySurfName)
(setq CopySurfObj (vlax-ename->vla-object (entlast)))
;等高線として追加
(setq ContoursObj (vlax-get-property CopySurfObj ‘Contours))
(vlax-invoke-method ContoursObj ‘Add BoundaryPlineObj ” ” 15.0 0.0698 100.0 1.0)
)
;;
;;サーフェスとポリラインを引数にして平均標高を取得
;;
(defun Pwr_MeanElevation(
SourceSurfOBJ
BoundaryPlineObj
/
CopySurfObj
MeanElev
)
;サーフェスの作成と境界追加
(Pwr_CreateSurface “TempSurface”)
(setq CopySurfObj (vlax-ename->vla-object (entlast)))
(vlax-invoke-method CopySurfObj ‘PasteSurface SourceSurfObj)
(setq BoundaryObj (vlax-get-property CopySurfObj ‘Boundaries))
(vlax-invoke-method BoundaryObj ‘Add BoundaryPlineObj “a” 4 T 1.0)

;平均標高取得
(setq MeanElev (vlax-get-property (vlax-get-property CopySurfObj ‘Statistics) ‘MeanElevation))
(vlax-invoke-method CopySurfObj ‘Delete)
MeanElev
)
;;
;;名前を引数にしてTINサーフェス作成
;;
(defun Pwr_CreateSurface(
SurfaceName
/
prod
verstr
prodStr
datastr
C3D
C3Ddoc
surfs
tincreationdata
surf
)

(setq prod (vlax-product-key))
(setq verstr
(cond
;;2010
((vl-string-search “\\R18.0\\” prod) “7.0″)
;;2011
((vl-string-search “\\R18.1\\” prod) “8.0″)
;;2012
((vl-string-search “\\R18.2\\” prod) “9.0″)
;;2013
((vl-string-search “\\R19.0\\” prod) “10.0″)
;;2014
((vl-string-search “\\R19.1\\” prod) “10.3″)
)
)
(setq prodStr (strcat “AeccXUiLand.AeccApplication.” verstr))
(setq datastr (strcat “AeccXLand.AeccTinCreationData.” verstr))

(if
(and (setq *acad* (vlax-get-acad-object))
(setq C3D (vla-getinterfaceobject *acad* prodStr))
(setq C3Ddoc (vla-get-activedocument C3D))
(setq surfs (vlax-get C3Ddoc ‘surfaces))
(setq tincreationdata (vla-getinterfaceobject *acad* datastr))
)
(progn
(vlax-put tincreationdata ‘baselayer “0″)
(vlax-put tincreationdata ‘layer “0″)
(vlax-put tincreationdata ‘name SurfaceName)

;;style must exist!
(vlax-put tincreationdata ‘style “MLIT-境界@サーフェス”)
(setq surf (vlax-invoke-method surfs ‘addtinsurface tincreationdata))

;; do whatever else is needed
(vlax-release-object tincreationdata)
(vlax-release-object surf)
(vlax-release-object surfs)
(vlax-release-object c3ddoc)
)
)
)

2 Comments

AutoCAD Civil 3D セルフトレーニング教材(ビデオ)

Civil3D トレーニング教材をビデオ化したものです。
なんとかがんばって早めに続きをUPするようにします。
自宅でパソコンに向かって1人でしゃべるのって恥ずかしい(^^;

http://bim-design.com/infra/movie/autocad_civil_3d_selftraining/01.html
http://bim-design.com/infra/movie/autocad_civil_3d_selftraining/02.html

No Comments

Civil 3D 超入門

Autodesk の 「BIM design 土木・インフラ向け」 のサイトはご存知ですか?

トレーニングテキストがあったりする、とてもお役立ちなサイトです。

・・・で。

このサイトの「Tips」にて、「Civil3D超入門」というコラムが始めさせて頂きました。
「Civil3D」ってこんなソフトだよ、ということをお伝えできればと思っています。
第1回目は「Civil 3D の基本」です。

よろしかったらご覧下さいm(_ _)m

1 Comment

Civil 3D の CUIX を変更する

最近また、チョビッとずつ C3D を触っている私です。

地形サーフェスを作成したいのですけど、
いろんなツールが、メニューにはあってもリボンにはなかったりするので、
この機会に自分用のリボンタブでも作成しようかな、と考えてみちゃったり。

C3D.cuix をコピーして yuri.cuix を作りました。
メインカスタマイズファイルを変更します。
↓ こんな感じ

そしたら!

ええええええ。

「サングラスにこちゃん※」よりかはマシですけど、
「はてなマーク」になってしまった!

おいいぃぃいい。

と困ったそんなアナタに。(というか私に)

C:\Users\ユーザ名\AppData\Roaming\Autodesk\C3D 2012\jpn\Support\C3D.dll
(Windows7)
のファイルをコピーして、CUIX と同じファイル名にしましょう。

↓こんな感じ

そうするとアイコンが表示されるようになります。

・・・CUIX の中に全部入れとけ、とか思ったりしないんだからっ。

twitter で、とある方に教えて頂きました、その説はありがとうございましたm(_ _)m
twitter すごいよ、twitter。

※サングラスにこちゃんとは・・・
かつて AutoCAD はアイコンの画像がみつからないと、
「画像が見つからないよ」という意味で、
アイコンの画像がサングラスをかけたニコちゃんマーク(とても悪者っぽい)になった。
「ウィルスにやられた!」と勘違いしなくもない演出である。

No Comments

Civil3Dの情報をインターネットで調べる

AutoCAD は日本でもかなり情報があるのですが、
Civil 3D に関してはなかなか・・・という現状です。

となると頼りになるのは、日本ではなく他の国の情報、主に英語圏ってことになります。
で、その時に問題になるのが、「英語で○○ってなんていうの??」

たとえば「情報ツール」について調べたいワケですが、
「ツール」はおそらく「Tool」だとしても、「情報」は・・・?

そんな時に使えるのが「ヘルプ」です。
最近のヘルプはインターネット上に公開されていて、Internet Explorerなどで見るようになっています。
情報ツールのヘルプを見てみると・・・

URLには「http://docs.autodesk.com/CIV3D/2012/JPN/・・・」と表示されているので、
「JPN」を「ENU」に変更します。
「http://docs.autodesk.com/CIV3D/2012/ENU/・・・」となります。

すると、あら変身!
英語のヘルプになるので、「情報ツール」が「Inquiry Tool」だということがわかります。
ビバ、インターネットのヘルプ!

No Comments

Subassembly Composer 作ってみる(6)

またものすごい時間空きました。

できあがったら Civil 3D でツールパレットに登録します。

ツールパレットのタブを右クリックして「サブアセンブリを読み込み」

ファイルを選択して

成功!

他のサブアセンブリと同様に使えます。

簡単にはこれだけ、ということで長々とかかった連載終わり。
色々オプションもあるみたいですけど、また気が向いた時に。

3 Comments

Subassembly Composer 作ってみる(5)

だいぶ間が空いてしまいました。
続きです。

ポイントやリンクの名前設定などを行います。
こんな感じにしたい。

まずはP1をクリックして選択。

Code Name に名前を入力。
ここでは「Crown」

次はP2をクリックして選択。
Code Name は「ETW」
Type は「SlopeAndOffset」(勾配とオフセット距離を指定)
From Point は「Origin」(基点)
Offset は「5」
Slope は「-0.2」

次はリンクの設定。
L1をクリックして選択。
Code Name は「Top」
Star point は「P1」
End point は「P2」

どんな風にできてるかは「Fit to Screen」ボタンを押すとプレビューされます。

続く。

2 Comments