Dim p(0 To 2)
For row = 2 To 65536
cell = Sheet1.Cells(row, 1).Value
If IsEmpty(cell) Then
Exit For
Else
x = CDbl(Sheet1.Cells(row, 1).Value)
y = CDbl(Sheet1.Cells(row, 2).Value)
z = CDbl(Sheet1.Cells(row, 3).Value)
Call PlotAcad(p())
End If
Next row
感謝感謝です。
和書でAutoCAD VBAプログラミングの解説書は皆無に近く、本当に参考になりました。
洋書ですと、多くの分厚いAutoCAD VBAプログラミング解説書があるにもかかわらず、翻訳されたもの、和書では見あたりません。
悲しむべき事態だと思います。
そういう事態の中で、今回のAutoCAD VBAプログラミング講座記事は、貴重で、大変参考となるものです。
できればより詳しい解説書として出版されますよう願うしだいです。
ありがとうございました。
AutoCAD VBAプログラミング講座では
AutoCAD特有の処理はあまり書けませんでしたので、
続編はいかがですか? > CAD&CGマガジン編集部(^^ゞ
それよりも私の体力が持つのだろうか...
仕事で急遽autocadを扱うことなり、
検索で辿りつきました。
autocad vba講座参考にさせていただいております。ぜひ書籍化してほしい。
質問等あったら、書き込んでいいですか?
autocad上に半径40の円を
excelからexcel座標どおりに配置します。
どのコマンドを使用したらよいのでしょうか。
教えていただきたいです。
http://sigbox2.web.fc2.com/ vba06.html
辺りで説明しているのですが、Excelから座標値 x, y, zを取得し、半径をrとすると、以下のような感じになります。
Dim center(0 To 2) As Double
center(0) = x
center(1) = y
center(2) = z
Dim objCircle As AcadCircle
Set objCircle = ThisDrawing.ModelSpace.AddCircle(center(), r)
ThisDrawingが定義されてません、というメッセが
出るんだす(;;
参照設定が欠けてるんかなあ。
http://sigbox2.web.fc2.com/ vba14.html
Excelと連携する場合は、AutoCAD VBA単独で完結するプログラムよりも少し難易度が上がりますね。PlotAcadプロシージャを、先のコメントのようにAddCircleメソッドを使用して以下のように書き換えればいいのではないかと思います。
Dim objCircle As AutoCAD.AcadCircle
Set objCircle = AcadDoc.ModelSpace.AddCircle(p(), r)
第14回のサンプルではポリラインを作図しているため、z座標や円の半径rがありませんので、プログラム中で付け加える必要があります。
明日会社にいったら、さっそく試してみます。
今後ともよろしくお願い致します。
明日会社にいったら、さっそく試してみます。
今後ともよろしくお願い致します。
下記の誤りを指摘して頂きたいと思います。
PlotAcad(p() As Double)の中で円を描くため、
3要素の数字が必要と思い
GetCellの中を以下のような記述に変えてみました。
Dim p() As Double
<途中略>
ReDim Preserve p(0 To i * 3 + 2)
p(i * 3) = x
p(i * 3 + 1) = y
p(i * 3 + 2)=0 'p(i * 3 + 2)=0をzにしようと思って書いてみました。
<途中略>
PlotAcad(p() As Double)以下は、
上記教えて下さったとおりに書いてみました。
ちなみにエクセルに入力されている座標は、2次元です。
Dim p(0 To 2)
For row = 2 To 65536
cell = Sheet1.Cells(row, 1).Value
If IsEmpty(cell) Then
Exit For
Else
x = CDbl(Sheet1.Cells(row, 1).Value)
y = CDbl(Sheet1.Cells(row, 2).Value)
z = CDbl(Sheet1.Cells(row, 3).Value)
Call PlotAcad(p())
End If
Next row
ブロックを上記の座標値どおりに配置したいと思っています。
違うファイルであらかじめ描画したモデルを(例えば釘)、
座標値どおりに円を配置したファイルに、同じ座標値に釘を配置したいと思っています。
こんなことって、できるのでしょうか。。。
autocad vbaとvisual lispのちがいをあげるとすれば、
どういうことがいえるのでしょうか・・・
それぞれの特徴は?といったほうがエエのかな。
挿入→ブロック→名前→挿入位置指定
* 挿入位置指定は上記関数から読み込もうとしています。
ヘルプ機能を読み進めているのですが、
それらしいところにたどり着きません・・・
なにかアドバイスを御願いします。
いつもほんまにお世話になっております。
またまた質問なんですが、
insertblockコマンドについて、
使用ブロックname欄にstring型の文字列を引っ張ってこようとしたのですが、
エラーがでてしまいます。
なぜでしょうか…
PARKER 万年筆
, parker ボールペン
, parker 万年筆
現在このように風邪で販売状況であなたの住民は通常一人でいる。ラックにはボッテガヴェネタ、プラスチック製のキャリアバッグ、組織の準備をきれいにするためのスペース、および/または毎週数取得、すぐに開始、ブルガリ着色プラダメガネは、春シーズンの結果に完成選択。バーバリーのファッションバーバリーコンセントが長い皇族として、推定長寿さらにタイプのほとんどの人々の狩猟によって望まれています。先に行くと、あなた自身の健康やあなたの率直の適性に関する心配は、あなたは、医師と異なる医療カウンセラーに相談してください。あなたが興味がある場合は最低のダイヤモンドは明らかに大人に見える。
parker ボールペン
, プラダ 財布
, ダコタバッグ
実際に、コーチのハンドバッグ彼らした得た網状、ジャーナル 30million ドルについては、ここで。フレンドリーなインスタンスのアルバム、倉庫のサーブへあなたの一度供給を取る。さらに、革新的な医療の土台が何丁度動作同じように、にきびのための証明された適切な治療は、実際の皮膚皮は言います。外科医の医療専門家。多様なブーツや靴驚くべき回職業を通じて、また地域と容易に非常に重要な外観の個人的な技術の様々 なも存在の期間。ロレンツォ ・ ギアンマーコ。Themse 表現する誰かの典型的な傾斜です。
ダコタバッグ
, プラダメンズ
2012 教育無視する手首、その印象的な信念と大丈夫の需要を得ての最新のデザインを起動します。あなたが言うとき私は「スニーカー」自動的に使い古されたウェルネスとフィットネス シューズのいくつか想像してください。しかし、通常中真実と遠くない話の完全な LV の多くを感じることがあります。あなた自身のため根黒状態のボーダー経験 8 の後部のトンを裁判所、最初の約 500 の十年月下地は舟状骨の骨から造られました。歴史的な人々 を全体の世界、アフリカの内部のような (サハラ以南、すべて黒コスチュームの人々) このインスピレーションも所有している、世代を得るいくつかの時間を割くを通って天性の才能と認識 <>] それ成してに係る星である招待畏敬の念を正当化するマップ、有名人と自分の仕事との深刻な関係を彫る。