视口的标准比例
大家好你能帮我从视口中提取比例吗。
当您查看选定视口的属性时,有一个称为“标准比例”(1:50或1:100)的部分。是否有方法从表中提取此值。
我知道你可以做一个表格搜索块和任何其他你想要的,但我有麻烦的“标准规模”。
我要做的是检查视口(图纸空间中最大的视口)提取“标准比例”(1:50)将其放入字符串中,然后将其用于我的标题栏。
谁能给我指一下正确的方向吗。我的lisp知识是基本的,我不知道任何“vl”代码,任何帮助将不胜感激。 也许你可以从JTB世界名人吉米·伯格马克的这个视窗比例lisp例程开始。
http://www.jtbworld.com/lisp/getvpscale.htm 谢谢你的回复,
但是我仍然在学习lisp,我不知道我们应该从代码开始,它以“vl”开头。这似乎让我困惑。
如果你能给我指出任何有帮助的基本lisp代码。
再次感谢。 如果我无法通过表格搜索找到它,是否可以通过assoc列表找到它??? 如果您有视口的图元名称,则可以通过将模型空间单位(DXF组码45)中的视图高度除以图纸空间单位(DXF组码41)中的高度来确定比例,(请参阅此处):
如果取而代之的是视口VLA对象,请检索CustomScale属性:
然而,对于您的任务,我将在标题栏属性中插入一个字段,链接到视口的自定义比例属性。 Arggg!!!!李打败了我!!!哦,好吧。。。这是我的版本。
(defun c:getviewportscale ()
;vl-load-com allows you to use vl stuff
(vl-load-com)
;Get the viewport object
(setq obj (vlax-ename->vla-object (car (entsel))))
;Get the viewport scale
(setq vps (vlax-get-property obj 'CustomScale))
;Get the inverse of the custom scale
(setq inv-vps (/ 1 vps))
;Then just put it into a string form
(setq str (strcat "1\" = " (rtos inv-vps 2 0) "'"))
;Then do with str what ever you wish to do with it!
(princ) ;Exit clean
)
你好,李!
我找不到存储刻度的变量,是e吗?我这样问是因为我想做一个例程,从纸上把细节视图放在模型空间中!
谢谢。李提前。
没有变量来存储比例值,比例值由函数返回(请注意,代码末尾没有“princ”)。变量“e”是实体名称,然后是实体数据。然而,该函数只是一个示例,演示了该方法。
这能做到吗?我问这个问题的原因是,我想将该比例输入到文本命令中,并将其放置在模型空间中,同时仍站在图纸空间中。
因此,我考虑了一个例程,让用户选择视口,视口锁定,比例存储以供稍后在文本命令中使用,例程从图纸空间跳入到视图端口,让用户选择文本应该在哪里,例程应该放入一个带有详细数或名称+加上比例的文本,然后再次跳出视口。每次将其放入视图时,可以自动计算细节编号。
在AutoCAD mec中。detailviews不够好。然后为什么不把文本放在ps中,因为我们总是放所有的维度,文本,引线等等。在ms中,我们在ps中的唯一想法是框架和绘图头。
已完成-该函数显示如何从DXF组码确定比例。
页:
[1]
2