内部筛选值属性
您好,有人知道如何选择只有相同属性值(特定文本)的多个块,而不选择具有相同标记但值不同的块吗?
Thanx提前 我会尝试这样的方式:
(defun c:ps-tagvl (/ tag val ps i ss en an ad)
(while (or (not tag)
(not (snvalid tag)))
(setq tag (strcase (getstring "\nTag Name: "))))
(while (not val)
(setq val (strcase (getstring t "\nAttrib Value ( Not Case Sensitive) : "))))
(and (setq ps (ssadd)
i -1
ss (ssget "X" '((0 . "INSERT")(66 . 1))))
(setq en (ssname ss (setq i (1+ i)))
an (entnext en)
ad (entget an))
(while (= "ATTRIB" (cdr (assoc 0 ad)))
(and (= tag (strcase (cdr (assoc 2 ad))))
(= val (strcase (cdr (assoc 1 ad))))
(ssadd en ps))
(setq an (entnext an)
ad (entget an))))
(eval ps))
-大卫 不久前,我粘贴了一些vba示例,这些示例适用于块属性,而不是可能有帮助的标记
heres a bit of code that should help
Dim SS As AcadSelectionSet
Dim objENT As AcadEntity
Dim Count, Cntr As Integer
Dim Newpitname As String
Dim pitname As String
Dim FilterDXFCode(0) As Integer
Dim FilterDXFVal(0) As Variant
Dim attribs As Variant
FilterDXFCode(0) = 0
FilterDXFVal(0) = "INSERT"
Set SS = ThisDrawing.SelectionSets.Add("pit4sel")
SS.Select acSelectionSetAll, , , FilterDXFCode, FilterDXFVal
BLOCK_NAME = "SCHEDTEXT"
For Cntr = 0 To SS.Count - 1
If SS.Item(Cntr).Name = BLOCK_NAME Then
attribs = SS.Item(Cntr).GetAttributes
pitname = attribs(0).TextString
ptxtx1 = attribs(1).TextString
ptxty1 =attribs(2).TextString
etc
页:
[1]