この掲示板は AutoCADマクロ屋本舗 の掲示板です。

【 注意 】最初に必ず ↓↓ 下記内容 ↓↓ を参照ください。
① マクロが分からない方は、まず 【 マクロ講座 】 を参照ください。
② 質問の前に 【 マクロ使用前の注意事項 】 をお読みください。
③ 質問する時は、新規投稿フォーム下の【 新規投稿時のお願い 】を必ずお読みください。

3点の中点から指定距離・指定円の作成
LUNE様
9月24日にお世話になりました"nn"でございます。またお願いいたしたいのですがよろしくお願いいたします。オートキャド2024を使用しています。
三次元のアイソメビューでA.B.C三点を指定し、A.Bの中点からC点まで線を作成しA.B間の中点から指定の距離を指定し、かつ指定の直径の円を入れたいのです。つたない説明で申し訳ないのですが。何卒 よろしくお願いいたします。

  • nn
  • 2024/12/26 (Thu) 16:01:47
Re: 3点の中点から指定距離・指定円の作成
3次元の作図なら、少し前提条件が不足しています。

図を見ると、AB中点からCへは、線分ABから線分が垂直であるように見えますが、そんなケースばかりではないですよね?
その場合、「指定距離」というのは、AB中点からの最短距離なのか、それともAB中点からCへの線分の長さなのかどちらなのでしょうか?
(図を見ると、AB中点からCへの線分の長さのような気がしますが・・・)
また、作成する円はどの平面に平行なものですか?XY平面上なのか、AB中点からCへの線分に直交した平面なのか。

ちょっと年内には対応できかねますので、そのあたりはご了承ください。


  • LUNE
  • 2024/12/27 (Fri) 10:09:07
Re: 3点の中点から指定距離・指定円の作成
LUNE様
ありがとうございます。
 指定距離はAB中点からCへの線分の長さです。
 作成する円はCへの線分に直交として下さい。
説明が下手で申し訳ありません。
お待ちいたしております。 お忙しい中大変恐縮でございますが よろしくお願いいたします。
  • nn
  • 2024/12/27 (Fri) 10:39:50
Re: 3点の中点から指定距離・指定円の作成
多分これでいけるかと

(defun c:3lpsc (/ pt1 pt2 pt3 mpt dis cr vol)
(setq pt1 (getpoint "\n1点目を指定:"))
(setq pt2 (getpoint pt1 "\n2点目を指定:"))
(setq mpt (mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.0)) pt1 pt2)) ;中点算出
(entmake
(list
(cons 0 "LINE")
(cons 10 (trans pt1 1 0))
(cons 11 (trans pt2 1 0))
)
)
(setq pt3 (getpoint mpt "\n3点目を指定:"))
(entmake
(list
(cons 0 "LINE")
(cons 10 (trans mpt 1 0))
(cons 11 (trans pt3 1 0))
)
)

(setq dis (getreal "\n距離を入力:"))
(setq cr (getreal "\n半径を入力:"))
(command-s "ucs" "za" (trans mpt 1 0) (trans pt3 1 0))
(command-s "circle" "0,0,0" cr)
(command-s "move" "l" "" "0,0,0" (list 0 0 dis))
(command-s "ucs" "p")

(princ)
)
  • LUNE
  • 2025/01/06 (Mon) 09:50:42
Re: 3点の中点から指定距離・指定円の作成
LUNE様
早々のご教授 誠にありがとうございます。希望通りの動作をいたします。
ここで、また一つお願いがあります。円の画層を"画層 円"とし、距離と円半径を入力して作図いたします。そのあと"エンター"で継続して作図できるようにはなりますでしょうか。

再度のお願いで申し訳ございませんが、お力添えをお願いいたします。
  • nn
  • 2025/01/06 (Mon) 10:51:51
Re: 3点の中点から指定距離・指定円の作成
リクエストの項目は、最初から出してほしいです。

>そのあと"エンター"で継続して作図できる
とありますが、距離と円半径の入力が1回だけ、あとはひたすら点を指定、ということでしょうか?
  • LUNE
  • 2025/01/07 (Tue) 13:12:20
Re: 3点の中点から指定距離・指定円の作成
LUNE様
ご面倒をおかけし 申し訳ございません。
ご指摘の通りでございます。何卒よろしくお願いいたします。
  • nn
  • 2025/01/07 (Tue) 14:01:47
Re: 3点の中点から指定距離・指定円の作成
(defun c:3lpsc (/ pt1 pt2 pt3 mpt dis cr)
(setq dis (getreal "\n距離を入力:"))
(setq cr (getreal "\n半径を入力:"))

(while dis
(setq pt1 (getpoint "\n1点目を指定:"))
(setq pt2 (getpoint pt1 "\n2点目を指定:"))
(setq mpt (mapcar '(lambda (x1 x2) (/ (+ x1 x2) 2.0)) pt1 pt2)) ;中点算出
(entmake
(list
(cons 0 "LINE")
(cons 10 (trans pt1 1 0))
(cons 11 (trans pt2 1 0))
)
)
(setq pt3 (getpoint mpt "\n3点目を指定:"))
(entmake
(list
(cons 0 "LINE")
(cons 10 (trans mpt 1 0))
(cons 11 (trans pt3 1 0))
)
)

(command-s "ucs" "za" (trans mpt 1 0) (trans pt3 1 0))
(command-s "circle" "0,0,0" cr)
(command-s "move" "l" "" "0,0,0" (list 0 0 dis))
(command-s "change" "l" "" "p" "la" "画層 円" "") ;作成した円の画層を変更
(command-s "ucs" "p")
)

(princ)
)

「画層 円」がないとエラーになります。
コマンド終了は、点指定の際にEscしてください。
  • LUNE
  • 2025/01/08 (Wed) 14:47:25
Re: 3点の中点から指定距離・指定円の作成
LUNE様
  
 ありがとうございます。ご無理を申し上げたにもかかわらず 本当にありがとうございます。
 希望通りの動作を確認いたしました。
 
 これからは、希望事項を詳しく記載しお願いするように心がけます。
 ご無礼の程 ご容赦を。
  • nn
  • 2025/01/08 (Wed) 15:37:30

返信フォーム






プレビュー (投稿前に内容を確認)