fxcastil 发表于 2005-9-13 17:35:32

特定布局上的块或实体

我有一个包含多张图纸的图纸(布局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 *****

fxcastil 发表于 2005-9-13 17:53:33

放弃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]
查看完整版本: 特定布局上的块或实体