你有种再说一遍 发表于 2024-3-16 02:15:36

kucha007 发表于 2024-3-15 23:27
借楼问一下,当这个参照是锁定的情况下,如何判断所选对象在参照内还是参照外?或者说如何剔除参照外的对象 ...

通过两个集合的差可以获取:
https://www.cnblogs.com/JJBox/p/11185185.html

https://gitee.com/inspirefunction/ifoxcad/blob/v0.7/tests/TestAcad09plus/%E6%8B%89%E4%BC%B8%E5%A1%AB%E5%85%85/02.%E6%8B%89%E4%BC%B8%E5%A1%AB%E5%85%85%E4%BA%8B%E4%BB%B6.cs

kozmosovia 发表于 2024-3-16 10:36:24

不需要搞差集,交互中能选中,就失去锁定的意义。即使用代码选中了,修改锁定对象也是不允许的。使用错误捕捉进行修改。

你有种再说一遍 发表于 2024-3-16 18:03:37

本帖最后由 你有种再说一遍 于 2024-3-17 02:20 编辑

kozmosovia 发表于 2024-3-16 10:36
不需要搞差集,交互中能选中,就失去锁定的意义。即使用代码选中了,修改锁定对象也是不允许的。使用错误捕 ...
无论是lisp,arx,csharp代码的ssget都是能选中的,修改也是能改,除非是command命令的修改...那么lisp的vlax函数的修改就不知道怎么过滤了???你是怎么做的捏?
而且我觉得这个过滤的差集在lisp非常麻烦,因为没有hashset,一直也没找到什么好方法...

kozmosovia 发表于 2024-3-16 21:43:10

kucha007 发表于 2024-3-15 23:27
借楼问一下,当这个参照是锁定的情况下,如何判断所选对象在参照内还是参照外?或者说如何剔除参照外的对象 ...

单纯判断内外的话,过滤OwnerID就行

kucha007 发表于 2024-3-17 01:39:32

kozmosovia 发表于 2024-3-16 21:43
单纯判断内外的话,过滤OwnerID就行



试了一下,似乎外部参照编辑的对象都在模型空间内...

(defun C:TT (/ CurDoc OwnerID)
    (setq CurDoc (vla-get-activedocument (vlax-get-acad-object)))
    (setq OwnerID(vla-get-OwnerID (vlax-ename->vla-object (car (nentsel)))))
    (vla-get-name (vla-ObjectIdToObject CurDoc OwnerID))
)

kucha007 发表于 2024-3-17 01:50:05

你有种再说一遍 发表于 2024-3-16 02:15
通过两个集合的差可以获取:
https://www.cnblogs.com/JJBox/p/11185185.html



感谢提供资料,目前只会lisp:'(

你有种再说一遍 发表于 2024-3-17 20:32:56

本帖最后由 你有种再说一遍 于 2024-3-17 20:40 编辑

kucha007 发表于 2024-3-17 01:39
试了一下,似乎外部参照编辑的对象都在模型空间内...
我也记得这个不行...
只会lisp没事,只要知道有哈希结构就行,O(1)时间复杂度是真的爽,如何在lisp实现也是大难题...

混合开发也是不可能的,因为用了我的瓜就会忘了它...

可以看看他们有没有dwx里面的hash结构??

panliang9 发表于 2024-3-18 14:17:12

本帖最后由 panliang9 于 2024-3-18 15:06 编辑

可以根据需要锁住不想动的对象,很有用!

能不能做成一个命令,执行后,选中的对象可以编辑,剩下的对象被锁住。不知道行不行。


这个能不能做成在位块编辑的时候,通过命令,来改变锁定和不锁定的状态?

你有种再说一遍 发表于 2024-3-19 02:35:41

kucha007 发表于 2024-3-15 23:27
借楼问一下,当这个参照是锁定的情况下,如何判断所选对象在参照内还是参照外?或者说如何剔除参照外的对象 ...

你想要三维软件的:隔离功能?

kucha007 发表于 2024-3-19 23:33:52

你有种再说一遍 发表于 2024-3-17 20:32
我也记得这个不行...
只会lisp没事,只要知道有哈希结构就行,O(1)时间复杂度是真的爽,如何在lisp实现也是 ...

感谢,还需要继续学习~
页: 1 [2]
查看完整版本: 参照编辑设置:锁定不在工作集中的对象是由什么控制的?