特定布局上的块或实体
我有一个包含多张图纸的图纸(布局1-布局25。)我在特定布局上创建块选择集时遇到问题。
我正在使用AutoCad 2002。我从
Autocad DXF参考手册中获得了组过滤器代码(410个布局名称)。过滤器代码“410”不起作用。
ReDim intFltrCode(2)As Integer
ReDim varFltrVal(6)As Variant
intFltrCode(0)= 0:varFltrVal(0)= " INSERT " '获取简单块引用
intFltrCode(1)= 2:varFltrVal(1)= " block name " '要获取的块的名称
intFltrCode(2)= 410:varFltrVal(3)= " Layout1 " '仅获取layout 1中的块
有人知道如何使用Lisp和sendcommand在特定布局上创建仅包含块的选择集吗?弗雷德·C
**** Hidden Message ***** 放弃410路线...它不起作用...即使是Lisp。
我建议循环每个布局的实体,这样,如果您遇到您的块,您可以立即知道它在哪个布局上...或者...为块创建过滤的选择集,循环选择集并检查块参照的所有者,这样可以确定它是否属于布局。
这里还有一个。通过只查看图纸空间,可以减少选择集中要查看的位置的数量。
下面是一个示例:
Public Sub GrabPaperBlkRefs()
Dim iDxfCode(0 To 2) As Integer
Dim vDxfCodeVals(0 To 2) As Variant
Dim pSelSet As AcadSelectionSet
iDxfCode(0) = 0: vDxfCodeVals(0) = "INSERT"
iDxfCode(1) = 2: vDxfCodeVals(1) = "YourBlockNameGoesHere"
iDxfCode(2) = 67: vDxfCodeVals(2) = 1 ' Paperspace
Set pSelSet = ThisDrawing.PickfirstSelectionSet
pSelSet.Select acSelectionSetAll, , , iDxfCode, vDxfCodeVals
MsgBox "Block references found: " & pSelSet.Count, vbInformation, "Block Reference Count"
End Sub
干杯,
格伦。
页:
[1]