在图纸空间中选择模型空间图元
大家好,有人有从文件空间中选择视口中的模型空间实体的代码示例吗?(没有“激活”视口)
或
关于实现这样的东西的最佳方式有什么想法吗?
TIA,
Mick。
**** Hidden Message ***** [半自动无效响应]
听起来像是个棘手的问题,米克
如您所知,我不是一个经常练习VBer的人,但我想不出任何方法来使用ActiveX对象模型实现这一点。
。也没有AutoLisp或.Net API工具
AutoDesk在其核心中找到了一种方法,因为关联标注和对象标注允许在图纸空间中选择对象
kwb
您可以从自制的COM服务器包装此内容…
。此帖子中可能有太多的“可能”。
谢谢Kerry,我之前(在arx lib标头等中)有过短暂的研究,运气不好,我“可能”不得不再试一次。
我记得一些关于从pspace转换为mspace的拾取点,并使用vba或lisp“在那个点”选择一个实体。从未使用过(读取编码)纸空间和视图端口,我不知所措,如果有人有一个,我会领先一步。
我的计划是针对.net的,但我在这里发帖,希望也许使用vba的人已经做了类似的事情,给我一个关于解决这个问题的最佳方法的提示或线索。
基本上,我想在mspace中选择一个实体来附加一个领导者或项目气球,其中包含实体的信息作为文本
谢谢,
Mick。 你最终希望Mick用什么语言写这个?
正如Kerry所指出的,有一个未记录的功能可以做到这一点(体积测量).............干杯,格伦。 不久前,我做了一件事,从图纸空间复制到模型空间,时间长到我需要搜索和刷新。修改起来应该相当简单。我会在今天午餐的时候找到它,看看我能做些什么。
您的意思是只选择在视口中可见的实体(即尊重视口边界、剪辑、vplayer状态等)吗? 迈克尔,我很确定情况就是这样。
快速而肮脏:
(defun MeGetEntsInVport ( / ExLoop LolPnt OffSet SelSet UprPnt VptCen VptEnl VptEnt)
(while (not ExLoop)
(initget " ")
(setq VptEnt (entsel "\nSelect viewport: "))
(cond
((= VptEnt "") (setq ExLoop T))
(VptEnt
(setq VptEnl (entget (car VptEnt)))
(if (= (cdr (assoc 0 VptEnl)) "VIEWPORT")
(progn
(setq VptCen (reverse (cdr (reverse (cdr (assoc 10 VptEnl)))))
OffSet (mapcar
'(lambda (l) (/ (cdr (assoc l VptEnl)) 2.0)) '(40 41)
)
LolPnt (trans (mapcar '(lambda (c o) (- c o)) VptCen OffSet) 3 2)
UprPnt (trans (mapcar '(lambda (c o) (+ c o)) VptCen OffSet) 3 2)
ExLoop T
)
(setvar "TILEMODE" 1)
(setq SelSet (ssget "_C" LolPnt UprPnt))
(setvar "TILEMODE" 0)
)
(prompt " selected entity is not a viewport.")
)
)
(T (prompt " 1 selected, 0 found."))
)
)
SelSet
)
...编辑:糟糕,语言错误 谢谢大家的回复。
最终,我想在C#中执行此操作,指出的未记录函数的唯一问题可能会变得obselete(?)。
几乎是Michael,我想在ms中选择一个实体,而在ps中,说一个带有att的块,并将其att用于领导者或项目气球上的项目编号。
谢谢 Jürg,我已经很久没有使用 lisp 了,我会给它一个旋风,让你知道。
塔,
米克.
页:
[1]
2