jmerch 发表于 2022-7-6 08:21:36

Limmax公司

我有一个LISP,需要在图纸上插入一个表格,但表格的位置取决于图纸的大小。我能想到的唯一方法(我确信还有10种)是通过获取LIMMAX变量来识别图纸。从那里开始,插入点将位于COND语句中(如果图纸尺寸是这个,请在此处插入,等等)。唯一的问题是,在存储数字后,我无法使用它们。我如何让它们变为整数或字符串?我不确定他们是怎么考虑的。atoi和itoa不会这么做。
 
谢谢

elfert 发表于 2022-7-6 08:27:03

你的画里有画头吗?我用这个lisp修复了一个类似的问题,请参见下文:
 
http://www.cadtutor.net/forum/showthread.php?65817-查找块插入点并在同一点插入另一块。
 
也许这可以给你一些建议!请记住,insunits可能在您的情况下是不必要的,它只是将插入单位更改为公制(只是让您知道)。
 
埃尔弗特

BlackBox 发表于 2022-7-6 08:30:55

LIMMAX可能不可靠,因为用户只需关闭“纸张背景”或“显示可打印区域”设置。
 
通常,当图纸尺寸不同时,每个图纸的比例是已知的(假设您有一致的CAD标准)。如果使用DIMSCALE变量等简单变量可能不一致,则应考虑对不同大小的标题栏等使用选择集测试。
 
示例:如果图形具有11x17标题栏,则插入11x17位置。如果图形有24x36标题栏,请插入24x36位置。
 
HTH公司

elfert 发表于 2022-7-6 08:33:43

伦德曼

BlackBox 发表于 2022-7-6 08:39:01

 
干杯,伙计!

jmerch 发表于 2022-7-6 08:43:22

@埃尔弗特-我在图纸中没有一个块需要识别。
 
 
我不熟悉关闭“纸张背景”或“显示可打印区域”设置。。。但它们真的影响极限吗?极限不是一个硬编码的数字,它给出了界限,而不仅仅是它的外观吗?在你的例子中,这正是我想要做的,但我不理解你所说的关于如何识别纸张大小的内容。根据我的经验,仅仅因为图纸尺寸不同,并不一定意味着尺寸比例不同。
 
你能澄清一下吗?谢谢,谢谢你的帮助。

BIGAL 发表于 2022-7-6 08:44:11

您可以设置限制,但然后进行“最大化”操作,这将不匹配限制,而“全部缩放”将匹配限制。限制可由用户定义。

BlackBox 发表于 2022-7-6 08:49:06

 
是否有包含标题栏的外部参照,可用于确定所需的图纸尺寸?
 
如果是这样,可以使用ObjectDBX来“提取”所需的信息。
 
 
在LIMMAX系统变量上-
 

jmerch 发表于 2022-7-6 08:53:33

 
我有边框外部参照,但不包含带有插入点的标题栏。我已经想出了如何获得这一点(请参阅下面的代码片段)。。。但是有了这个特定的功能,它就不起作用了。该函数来自第三方程序,该程序将放置ACAD表,但无论我尝试什么,都无法使其自动放置它。。。这仍然取决于用户手动完成。不过我会继续玩的。
 
(command "id" (getvar "limmax"))
(setq pt (getvar "lastpoint"))
 
第三方程序员告诉我要做的事情,但它不起作用。。。
 
(command (addreport "Sleeve Report" (ssget "all") (list pt)))

BlackBox 发表于 2022-7-6 08:56:51

如果您的“边框”不是实际的标题栏,并且是外部参照的,那么您不能通过原点(0)计算极点位置吗?否则,需要从外部参照的可识别文件名中提取图纸尺寸。
 
依我看,你最好创建一些命名恰当的标题栏。。。这肯定会让事情简单得多。
页: [1] 2
查看完整版本: Limmax公司