- 締切済み
AUTOCADで両側オフセットについて
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) ) どうぞ宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- moon00
- ベストアンサー率44% (315/712)
オフセットした元要素の色が、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) ) 前に回答したときに、ちょっと不要なコードもあったので、修正しました。