Archive for category Civil memo

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

コマンドオプションがない

C3D2009 です。
オプションのキーワードが表示されないから、
あれー?あれー?
と思ってたら Hotfix があった・・・。
チェック怠ってました(^^;
Autodesk -Technical Q&A-
コマンドのオプション キーワードが不明

No Comments

間違ったフォーマットの(再)

また出た、
「間違ったフォーマットのプログラムを読み込もうとしました。」

program.gif

そしてすっかり忘れて、悪戦苦闘してた私。
CUIとか元に戻してもダメな私。
ちょっと思い出した私。
間違ったフォーマットの
思いっきり2度目じゃん・・・!!!!!
前回の失敗を繰り返してるし。
いや、再インストールまではしてないが。
前回の経験を生かしました。
今回はライセンスをノートに移動していて、
その余裕の何日間かでC3D2008を起動してたんです。
ちょうど同じ経験をされた方がライセンス関係がとかおっしゃってたので、
ライセンス戻したら直りました。
私の1時間は一体・・・。

No Comments