小菜123 发表于 2020-4-5 14:28:08

图上一条直线怎么会跟proxy object有关系?

附件的图上有两条直线。用CAD2005的wblock将两直线写块,打开写入的块会发现只有一条线,如果只选一条直线写盘,再打开似乎就正常。已知问题出在线型上,如果将直线线型修改为continous,就没有问题。
换CAD2012写块,会出现下图的错误:
当用CAD2014打开图时,会提示需要加载acdgnls.dbx,加载这个文件后,写块等操作一切正常。
现希望搞清楚这条直线的线型有什么特别之处,为什么会和proxy object有关系?如何用程序访问到这个特别的线型?
如果有一张很大的图中有这种直线,如何用程序快速定位到这样的线?




小菜123 发表于 2020-4-5 18:12:50

(vlax-for x (vlax-Get-Property(vla-get-activedocument (vlax-get-acad-object)) 'linetypes)
(if (= (vla-get-HasExtensionDictionary x) :vlax-true)
    (progn
      (vlax-for o (vla-GetExtensionDictionary x)
          (if (= "AcDbZombieObject" (vla-get-ObjectName o))
                (princ (strcat "\n线型" (vla-get-name x) "的字典中发现proxy实体."))
                ;;(vla-delete o) ;;出错
            )
      )
    )
)
)

发现在什么位置了,vla-delete却不能删除,有什么办法删除?

jun353835273 发表于 2020-4-5 23:38:22

小菜123 发表于 2020-4-5 18:12
(vlax-for x (vlax-Get-Property(vla-get-activedocument (vlax-get-acad-object)) 'linetypes)
(if ( ...

新建一个图,然后插入块的时候选择你的图纸,这样代理对象就不会被插入进去。

664571221 发表于 2020-4-6 16:53:23

你是小菜选择吗????

xinxirong 发表于 2020-4-6 19:47:40

arx可以限制lisp程序员,但限制不了arx程序员。一个api就能删掉proxy

小菜123 发表于 2020-4-6 20:00:10

lisp确实没找到什么办法,只能新建个线型,然后把线的线型改为新建的

jun353835273 发表于 2020-4-6 20:47:08

cad14可以复制,10的cad不能

小菜123 发表于 2020-8-18 20:20:30

这个图中的{ Gas Line }线型字典有中proxy实体,但找不到哪个实体使用了这个线型,也就无法修改

masterlong 发表于 2020-8-19 20:48:06

线型定义导出再导入   线型中代理相关的内容就没了

小菜123 发表于 2020-8-20 11:44:54

masterlong 发表于 2020-8-19 20:48
线型定义导出再导入   线型中代理相关的内容就没了

线型导出、导入还没弄过,是命令还是程序?或者有专门的函数?
页: [1]
查看完整版本: 图上一条直线怎么会跟proxy object有关系?