TOP PAGE > 記事閲覧
JDrafのポリライン編集はACADと仕様が違う
投稿日 | : 2015/10/26(Mon) 10:42 |
投稿者 | : アルサポ |
参照先 | : |
AutoCADとJDrafでは、同じ(?)コマンドなのに仕様(実行結果)が違うものがいくつかあります。
最近、ポリライン編集の仕様が違う事に気付いたので掲載します。
ポリライン編集で出来ることは、両方のCADで同じなのですが、実行後
JDrafでは、「ポリライン」が「2D ポリライン」に強制的に変更されます
AutoCADでは、「ポリライン」は「ポリライン」のままです。
通常作図する「ポリライン」は別名(正式名称?)「軽量ポリライン」といわれ、
データ量が「2D ポリライン」に比べ少ないのに…と個人的にガッカリしています。
それと残念なことにAutoCADの「CONVERT」コマンドがJDrafではありません。
なので、「2D ポリライン」を「ポリライン」に変換する方法がわかりません。
(現時点では、私はどうしても変換したい時には、分解して、ポリライン結合します)
いつかJDrafの更新で修正されるか、誰か対処方法をご存じの方は教えて頂きたいと願うばかりです
Re: ポリラインの頂点を追加する(lisp)
投稿日 | : 2015/10/26(Mon) 10:54 |
投稿者 | : アルサポ |
参照先 | : |
実は、この仕様のおかげで今回紹介するLISPは、AutoCADでは便利に使えますが、
JDrafでは、「ポリライン」の時のみ使えるビミョーなLISPです。
ポリラインの頂点を追加するLISPは、追加したいポリラインを選択し、追加したい頂点位置を指示すると、
その頂点から一番近い頂点の隣に頂点が追加されます。
私は、意外と利用する事が多いので一度使ってみてはどうでしょうか?
;ポリラインの頂点を追加(※JDrafは2Dポリラインに強制的に変換されるので2回連続では使えない)
(defun C:PEditAdd (/ ent ent_data obj pt_add pt n m dis1 dis2 i)
(setq ent (nentsel "\nポリラインを選択"))
(setq ent_data (entget (car ent)))
(setq obj (assoc 0 ent_data))
(if (= (cdr obj) "LWPOLYLINE")
(progn
(setq pt_add (getpoint "\n追加する頂点を指示:"))
(setq pt (assoc 10 ent_data));頂点座標を取得
(setq n 0)
(setq m 0)
(setq dis1 (distance pt_add (cdr pt)))
(while pt
(setq dis2 (distance pt_add (cdr pt)));2点間距離
(if (> dis1 dis2)
(progn
(setq dis1 dis2)
(setq m n)
);progn
);if
(setq ent_data (cdr (member pt ent_data)))
(setq pt (assoc 10 ent_data));頂点座標を取得
(setq n (+ n 1))
);while
(command "PEDIT" ent "E")
(if (/= m 1)
(progn
(setq i 0)
(while (> m i)
(command "N")
(setq i (+ i 1))
);while
);progn
);if
(command "I" pt_add "X" "")
);progn
);if
(princ)
)
Re: JDrafのポリライン編集はACADと仕様が違う
投稿日 | : 2016/10/06(Thu) 17:55 |
投稿者 | : 良春 |
参照先 | : |
こんにちわ
最近JDrafをさわり出したものです。
上のLISPでLWPOLYLINEが2DPOLYLINEに変わってしまうのは PEDIT のせいのようです。
JDrafでは2DPOLYLINE用の編集コマンド EDITPOLYLINE と LWPOLYLINE 用の編集
コマンド EDITVERTEX があり、別名で PEDIT がEDITPOLYLINE になっていました。
LWPOLYLINE をEDITPOLYLINE で編集すると強制的に2DPOLYLINEになる仕様のようです。
上のLISPを EDITVERTEX に書き換えると、解決します。
Re: JDrafのポリライン編集はACADと仕様が違う
投稿日 | : 2016/10/09(Sun) 09:47 |
投稿者 | : アルサポ |
参照先 | : |
良春さん、ご指摘ありがとうございます
「EDITVERTEX」を使うと問題が解決しました
「EDITVERTEX」が軽量ポリラインの編集コマンドだったなんて知りませんでした!!
ヘルプのリファレンスには、2Dポリラインの編集のような事が書いてあったような
良春さんにお聞きしたいのですが、
私の場合はAutoCADを使っていたので、主にAutoCADのコマンドをもとにJDrafについて勉強しているのですが、
今回のようなメニューにないコマンド(JDrafのコマンド)は、どのようにしてご存知になったのですか?
もし、JDrafについて参考にしているHPや書籍等あれば教えて頂ければ幸いです
Re: JDrafのポリライン編集はACADと仕様が違う
投稿日 | : 2016/10/09(Sun) 10:30 |
投稿者 | : 良春 |
参照先 | : |
アルサポさん おはようございます。
私もAutoCADユーザーです。R2010で更新をやめています。
JDrafへの移行を検討中で、いろいろ検索してこちらへたどり着きました。
冒頭のLWPOLYLINEが2DPOLYLINEに変るという指摘に、実際確認して不便に
感じ、何か代替があるのではないかと考え、コマン解説を総当たりして
発見しました。
私も自作のLISPをJDrafに移行し、動作検証しながら環境づくりをしています。
JDrfはDISELがあまりうまく動かないので、LISPで作りなおしたりしている
過程で、AutoCADとの違いを実感しています。
たとえば引き出し線記入で仮文字を入力し、後から文字をGETVERの値に入れ替える場合、
AutoCADでは最後のエンティティは「文字」ですが、JDrafでは「引き出し線」になるので
結構手間になります。
他にもまだわからないことだらけですが、まだメインはAutoCADなので結構、移行を
楽しんでいます。
今後ともよろしくお願いいたします