導航:首頁 > 凈水問答 > ssget選擇集中過濾

ssget選擇集中過濾

發布時間:2022-02-04 20:36:58

⑴ ssget怎樣選擇所有的多線lisp語言裡面……

(setq #kw (ssget "X" (list '(0 . "LWPOLYLINE") '(70 . 0))));這個是全選
;"X"表示全選; '(0 . "LWPOLYLINE");表示多段線; '(70 . 0);表示不封閉,'(70 . 1);表示封閉如果是
(setq #kw (ssget "X" (list '(0 . "LWPOLYLINE"))));所有的多段線全部選擇包括封閉的不封閉的。以下是我搜集到的ssget用法給你參考:
;可以模擬帶過濾的entsel
;選擇拾取框內的實體,選擇不到就結束
(defun c:test1()
(setq ss (ssget ":E:S" '((0 . "line"))))
(command "erase" ss "")
)

;?
(defun c:test2()
(setq ss (ssget ":N" '((0 . "insert"))))
(command "erase" ss "")
)

;會累加選擇的實體同一個塊選擇兩次個數就會乘以2(看命令行)
;去掉":D"你試試結果(看命令行)
(defun c:test3()
(setq ss (ssget ":D" '((0 . "insert"))))
(sslength ss)
)

;只選擇一次自動結束選擇
;用處省了回車
(defun c:test4()
(setq ss (ssget ":S" '((0 . "line"))))
(command "erase" ss "")
)

;會提示有幾個在鎖定圖上 並且不選擇在鎖定圖層的實體(看命令行)
;去掉":L"你試試結果(看命令行)
(defun c:test5()
(setq ss (ssget ":L" '((0 . "insert"))))
(sslength ss)
)

;上次的的選擇集 (這個好理解)
(defun c:test6()
(setq ss (ssget "P" '((0 . "insert"))))
(sslength ss)
)

;?
(defun c:test7()
(setq ss (ssget "+." '((0 . "insert"))))
(sslength ss)
)

;可以模擬帶過濾的entsel
;選擇拾取框內的實體,選擇不到就不結束,選擇到不右鍵也不結束注意和":E:S"的區別
(defun c:test8()
(setq ss (ssget ":E" '((0 . "insert"))))
(sslength ss)
)

;自動選擇所有的滿足條件的實體(好理解)凍結的也可選擇到
(defun c:test9()
(setq ss (ssget "X" '((0 . "insert"))))
(sslength ss)
)

;自動選擇不包括凍結的滿足條件的實體(感謝masterlong)
(defun c:test10()
(setq ss (ssget "A" '((0 . "insert"))))
(sslength ss)
)

;只選擇含數字的文本(好理解)
(defun c:test11()
(setq ss (ssget '((1 . "*[0-9]*"))))
)

;只選擇含數字的文本( 同上)(感謝caoyin提供)
(defun c:test11()
(setq ss (ssget '((1 . "*#*"))))
)

;只選擇數字文本
(defun c:test12()
(setq ss (ssget '((0 . "text,mtext") (1 . "~*[~-.0-9]*" ))) )
)

;選擇不含數字的文本
(defun c:test13()
(setq ss (ssget '((-4 . "<NOT")
(1 . "*[0-9]*")
(-4 . "NOT>"))
)))

;選擇不含數字的文本(同上)(caoyin 提供的)
(defun c:test13()
(setq ss(ssget '((1 . "~*#*"))))
)

;只選擇含字母的文本(好理解)
(defun c:test14()
(setq ss (ssget '((1 . "*[a-A-z-Z]*"))))
)

;只選擇字母文本
(defun c:test15()
(setq ss (ssget '((0 . "text,mtext") (1 . "~*[~a-A-z-Z]*" ))))
)

;只選擇不含字母的文本
(defun c:test16()
(setq ss (ssget '((-4 . "<NOT")
(1 . "*[a-A-z-Z]*")
(-4 . "NOT>"))))
)

;只選擇不含字母的文本(同上)
(defun c:test16()
(setq ss (ssget '((1 . "~*[a-A-z-Z]*"))))
)

;選擇半徑大於800小於8000的圓
(defun c:test17()
(setq ss (ssget '((-4 . "<and")
(0 . "circle")
(-4 . ">")(40 . 800)
(-4 . "<")(40 . 8000)
(-4 . "and>"))
))
)

;選擇圖層表("圖層1" "圖層2" "圖層3" "圖層4" ---------------有很多個圖層)內的線(這個要感謝網友eachy,感謝學院派xyp1964進行了優化)
(defun c:test18()
(setq la '("1" "2" "3" "4")
ss (ssget (list '(0 . "line") (cons 8 (apply 'strcat (mapcar '(lambda (x) (strcat x ",")) la)))))
))

;選擇經過某點的實體,
(defun c:test19()
(setq pt (getpoint))
(setq ss (ssget 「c」 pt pt))
)

;選擇0層以外的線
(defun c:test20()
(setq ss (ssget '((-4 . "<AND")
(0 . "line")
(-4 . "<NOT")
(8 . "0")
(-4 . "NOT>")
(-4 . "AND>"))
)))

;選擇0層以外的線(同上)(感謝caoyin提供)
(defun c:test20()
(setq ss (ssget '((0 . "line")(8 . "~0"))))
)

;選擇圖層名不含字母以外的線(根據caoyin提供幾個實例進行了重新組合還可以組合出來很多)
(defun c:test21()
(setq ss (ssget '((0 . "line")(8 . "~*[a-A-z-Z]*"))))
)

;選擇帶擴展數據的實體
(defun c:test22()
(setq ss (ssget '((0."CIRCLE") (-3 ("APPNAME")))))
)

;窗選擇 包含在框內的被選擇 相交的不選擇和"c"比較一下
;屏幕外的選擇不到
(defun c:test23()
(setq pt1 (getpoint))
(setq pt3 (getcorner pt1))
(setq ss(ssget "w" pt1 pt3 '((0 . "insert"))))
;"wp"後面換成點集 (setq ss(ssget "wp" ptl '((0 . "insert"))))
)

;框選擇 包含在框內的及和框相交的被選擇 和"w"比較一下
;屏幕外的選擇不到
(defun c:test24()
(setq pt1 (getpoint))
(setq pt3 (getcorner pt1))
(setq ss(ssget "c" pt1 pt3 '((0 . "insert"))))
;"cp"後面換成點集 (setq ss(ssget "cp" ptl '((0 . "insert"))))
)

;線相交的線刪除(屏幕外的選擇不到郁悶所以要用zoom "ob")
(defun c:test25()
(setq ptl nil)
(while (setq pt (getpoint))
(setq ptl (cons pt ptl))
)
(setq ss (ssget "f" ptl '((0 . "line"))))
(command "erase" ss "")
)
;刪除點(0 0)和點(1000 1000)形成的矩形內的實體(在屏幕外面的也可以),(感謝masterlong)
(defun c:test26()
(setq pt1 '(0 0)) ;窗口左下角點
(setq pt3 '(1000 1000)) ;窗口右上角點
(setq ss (ssget "x" (list
'(-4 . "<and")
'(0 . "insert")
'(-4 . ">,>,*")
(cons 10 pt1)
'(-4 . "<,<,*")
(cons 10 pt3)
'(-4 . "and>")
)))
(command "erase" ss "")
)

⑵ lisp選擇集函數ssget過濾器中如何使用變數

⑶ lisp中ssget的選擇集不確定。視口在不同的縮放比例下,利用ssget選擇出來的對象也不同。

;採用以下方法試試
;設矩形選擇集區域的左下角為p1,右上角為P2,則
(command "_zoom" "w" (mapcar '- p1 '(10 10)) (mapcar '+ p2 '(10 10)))
(setq d (ssget "c" p1 p2 '((0 . "LWPOLYLINE"))))
(command "_u")

⑷ lisp 選擇集過濾動態塊

;;;獲取動態塊的多個匿名塊名。返回值:nil 或 "`*?*,`*?*..."
(defun GetDynamicName (Block / DXF EN bl name ent lst)
(defun DXF (code lst)
(cdr (assoc code lst))
) ;defun
(while (setq bl (tblnext "BLOCK" (null bl)))
(and
(= 1 (logand 1 (DXF 70 bl))) ;匿名塊
(setq name (DXF 2 bl)
ent (tblobjname "BLOCK" name)
ent (DXF 330 (entget ent))
ent (DXF 331 (entget ent))
)
(setq EN (vla-get-EffectiveName (vlax-ename->vla-object ent)))
(wcmatch EN Block)
(setq name (strcat "`" name))
(not (member name lst))
(setq lst (cons name lst))
) ;and
) ;while
(and
(setq lst (reverse lst)
name (car lst)
lst (cdr lst)
)
(setq lst (mapcar '(lambda (e) (strcat "," e)) lst)
name (strcat name (apply 'strcat lst))
)
) ;and
name
)

⑸ lisp 中ssget 過濾問題

(setq ss (ssget '((0 . "TEXT,MTEXT")) ))
(sssetfirst ss ss)
(princ)

格式一定要對

⑹ 如何使用選擇集過濾器來得到多段線(已解決)

你選到的有LWPOLYLINE,也有POLYLINE如果你不需要兩種一起選,那麼可以把"*Polyline"改成對應類型如果你需要兩種一起選,可以把Dim pline As AcadPolyline改成Dim pline As AcadObject

⑺ autolisp裡面ssget選擇不能夠有文字輸入,想要用ssget選擇並過濾還可以輸入關鍵詞,不知道誰有程序

ssget函數選擇並過濾,不需要提示,因為選擇的時可以隨意選。如果需要提示,可以用prompt函數,如下是我用過的一種方式。
(while (= (setq set_data (ssget '((-4 . "<OR") (0 . "LWPOLYLINE") (0 . "POLYLINE") (-4 . "OR>")))) nil)
(prompt"\nPlease select Polylines:")
)

⑻ AUTO LISP中ssget可以選擇已知三點之間的區域

(setq lst1 '((0 0) (1 0) (0 1)));3點集合

(setq ss1 (ssget "wp" lst1));ssget選擇三點范圍以內的對象
(setq ss2 (ssget "cp" lst1));ssget選擇三點范圍以內及點構成連線相交的對象

⑼ 如何利用cad選擇集cad的內部選擇集是什麼 我想指定對象到這個選擇集中,應該怎麼做

以下為命令行輸入>
添加圖元至「s1」選擇集
(setq
s1
(ssget))
添加圖元至「s2」選擇集
(setq
s1
(ssget))
調用選擇集
!s1
!s2
例如:
移動相應選擇集的圖元,可在命令行輸入:
m;移動命令,回車
!s1;要求輸入選擇集時,輸入「s1」選擇集,回車
如果僅僅是想操作上次的選擇集,可輸入
!p

⑽ 如何將ssget建立的選擇集設為「P」(上一選擇集)

我的問題是想用ssadd建立選擇集,執行完LISP程序後在命令行用MOVE移動選擇集中所擁物體,怎樣把選擇集中所有物體設為「上一選擇集」?若用SELECT命令時無法用LISp函數將選擇集內所有物體一次賦值。有沒有其他方法?

閱讀全文

與ssget選擇集中過濾相關的資料

熱點內容
mc全世界都是核廢水該怎麼生存 瀏覽:876
老式沁園飲水機多少錢 瀏覽:907
利尊潛水污水泵價格 瀏覽:260
東風m3的空氣濾芯在哪裡 瀏覽:66
飲水機里出來的絮狀東西是什麼 瀏覽:29
杭州污水池環氧防腐漆價格 瀏覽:732
如何提升路由器上傳速度 瀏覽:117
超濾凈水設備廠商代理 瀏覽:827
edi按功能分為有哪幾種 瀏覽:634
惠普康反滲透純水機 瀏覽:226
空氣濾芯是濾什麼的 瀏覽:124
長按出水的飲水機怎麼按 瀏覽:872
水處理工理論知識 瀏覽:602
大家都放不開純凈水什麼意思 瀏覽:215
容聲凈水器308多少錢 瀏覽:37
鈦棒過濾芯使用壽命 瀏覽:585
冷固化樹脂攪拌不均勻 瀏覽:158
光電信息產業廢水 瀏覽:514
嬰兒誤食檸檬酸除垢劑殘留 瀏覽:275
鈣鎂離子濾芯怎麼樣 瀏覽:748