【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

AUTOCAD2015を使用しています。
前回回答いただいたのですが、結果がByLayerに従わなかった為
元要素と同じ色になってしまいました。
それと元々入力値が片側方向のオフセット値なので私の仕事では感違いの元です。
結果を現画層にしたがわせ、入力値が両側にオフセットした結果にする様にしたいのですが
ご教授お願い致します。
今のマクロ文は下記です。
;両側オフセット
(defun C:wofset (/ end)
  (command "offsetdist" pause)
  (setq end 1)
  (while (/= nil end)
    (command "offset" "" pause)
    (if (< 0 (getvar "cmdactive"))
      (command "@" "" "change" "l" "" "P" "LA" (getvar "CLAYER") "" "offset" (* 2 (getvar "offsetdist")) (entlast) "@" "" "change" "l" "" "P" "LA" (getvar "CLAYER") "" "offsetdist" (/ (getvar "offsetdist") 2))
      (setq end nil)
    )
  )
  (princ)
)
どうぞ宜しくお願い致します。

A 回答 (1件)

オフセットした元要素の色が、Bylayerではない場合も、オフセットしたものはBylayerにしたいということでよいしょうか?



(defun C:wofset (/ end)
  (command "offsetdist" pause)
  (setq end 1)
  (setvar "offsetdist" (/ (getvar "offsetdist") 2))
  (while (/= nil end)
    (command "offset" "" pause)
    (if (< 0 (getvar "cmdactive"))
      (command "@" "" "change" "l" "" "P" "LA" (getvar "CLAYER") "C" "Bylayer" "" "offset" (* 2 (getvar "offsetdist")) (entlast) "@" "" "offsetdist" (/ (getvar "offsetdist") 2))
      (setq end nil)
    )
  )
  (princ)
)

前に回答したときに、ちょっと不要なコードもあったので、修正しました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報