<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • cad 二次開發教程(python二次開發cad教程)


    2.11.2 操作選擇集

    1.向選擇集中加入圖元

    ( ssadd name ss) 函數用于向選擇集中加入圖元,函數返回加入新圖元后的選擇集。如果不帶任何變元參數時(ssadd)表示建立一個空的選擇集,只帶name參數時,表示建立只包含名為name圖元的選擇集。如果帶2個參數,表明將name圖元加入到指定的選擇集中,若選擇集中已有此圖元,則忽略添加請求,并且不報告錯誤。

    ssadd創建的選擇集可以包含圖紙空間的圖元,也可包模型空間的圖元,我們也可在應用程序中用DXF組碼的67位碼過濾,去掉不需要的圖元,67組碼值為1,指定圖元處理圖紙空間。

    2.從選擇集中刪除圖元

    ?。╯sdel name ss)從選擇集ss中刪除名稱為name的圖元。

    3.獲取選擇集中的圖元數目

     (sslength ss)

    4.訪問選擇集圖元

    ?。╯sname ss n),返回選擇集中第n個圖元名,序號為從0開始計數的整數。

    (ssanme ss  0) 第一個圖元;

    (ssanme ss l-1) l為圖元數目,返回最后一個圖元名。

    5.測試某個圖元是否在選擇集中

    (ssmemb name ss),存在返回圖元名,不存在返回nil。

    6.刪除選擇集,釋放內存。?。╯etq ss nil)

    2.11.3 應用實例

      因為比較重要,現具體說2個實例。

    例1:選擇屏幕上要保留的圖形,刪除其它未被選中的圖形。

    (defun c:delnot( / ss1 ss2 ss3 n ent)

    (setq ss1 (ssget) ss2 (ssget “X”) )

    (if (not ss1)

    (command “erase” ss2 “”)

    (progn

    (setq ss3 (ssadd) n 0 )

    (repeat (sslength ss2 )

    (setq ent (ssname ss2 n))

    (if (not (ssmemb ent ss1))

    (ssadd ent ss3)

    )

    (setq n (1+ n))

    )

    (command “erase” ss3 “” “redraw”)

    )

    )

    )

    例2:改變現行圖形中所有文本尺寸大小。

    (defun c:change( / a ts n index b1 b c d b2)

    (setq a (ssget “X” ‘((0 . “TEXT”))))

    (setq ts (getdist “\n輸入新的文本大?。?#8221;))

    (setq n (sslength a))

    (setq index 0)

    (repeat n

    (setq b1 (entget (ssname a index)))

    (setq index (1+ index))

    (setq c (assoc 40 b1))

    (setq d (cons (car c) ts))

    (setq b2 (subst d c b1))

    (entmod b2)

    )

    (princ)

    )

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费