

IJCADのクイック選択で寸法の「寸法値の優先」に入力されている寸法を抽出選択し、色or画層を変えて、オンスケールでない寸法を可視化させたい。  
クイック選択でその操作はできるが、その操作をマクロ化又はLISP化させたい。


CC BY-SA 4.0
2022-06-06T23:22:47.610
89262
2022-06-13T05:06:32.730
52963
question
ijcad lisp autocad
IJCADにてクイック選択をマクロ化又はLISP化をしたい


LISPを用いて目的の動作を実現できます。  
以下に一例を示します。

・方法

  1. (ssget)とフィルタで図面内の寸法を取得する
  2. 「寸法値の優先」に入力がされていないものを選択セットから除外する
  3. CHANGEコマンドで選択セットに含まれているオブジェクトの色を赤に変更する

試しにこんなコードを作ってみました。  
「寸法値の優先」に入力されている寸法の色を赤に変えています。  
参考にしてみてください

[code]

    (defun c:MYSAMPLE ( / ss ObjNum Cnt Obj diment priority)
    (setq ss (ssget "A" '((0 . "DIMENSION"))))
    (setq ObjNum (sslength ss))
    (setq Cnt 0)
    (repeat ObjNum
    (setq Obj (ssname ss Cnt))
    (setq diment (entget Obj))
    (setq priority (cdr(assoc 1 diment)))
    (if (= priority "")(ssdel Obj ss)(setq Cnt (1+ Cnt)))
    )
    (command "change" ss "" "p" "c" "1" "")
    )
    
[/code]

参考：  
以下のURLの「IJCAD_2022_DEV_CHM.zip」内にある「IJLSPDEV.CHM」に、LISPのリファレンスがあります。  
<https://support.ijcad.jp/hc/ja/articles/4416529488281>


CC BY-SA 4.0
2022-06-13T05:06:32.730
89362
2022-06-13T05:06:32.730
52306
89262
answer