请注意,如果选择了一个对象来获取面积,则只能使用字段来表示表中所示的面积(因此会自动更新):
Pick Area [Object] <Exit>:
此限制是因为使用内部点选择的区域可能由多个对象的边缘限定。 知道了。。。。非常感谢李。。。。我想知道出了什么问题。。。。
但是,当我拾取对象时,面积是一条长字符串(可能以平方毫米为单位)
当我们做内部选取点时,它很好。。。
我想不出在你的代码中,对象选择中的相关因子cf在哪里。
如果我们有矩形,是否可以在表中添加尺寸(L x B)???
并且,表中的面积数字可以达到小数点后2位吗。。(由于我缺乏知识,无法在程序中找到答案)
谢谢
不客气。
如果程序设置为使用字段(fd=t),字段的格式将取决于字段格式参数(fo=“%lu6%qf1”)。
要确定要使用的适当字段格式字符串,请按照本页下半部分的说明操作。
是的,但不是当前版本的程序。
是的,这将取决于字段格式(如上所述)。 谢谢你的回复李。。。。。一直在旅行。。。。将尝试您的建议并回复。。。。。 李才华横溢。。。。。按照您的指示理解并更新代码。。。效果很好。
非常感谢。
正在检查。。。。如果我们有盒子,我们可以提取长度。。。但面积多段线是一个连续的长方体。。所以它只是拉出了外围。
当我们拉伸时,如何提取更新的长度x宽度????如果我们炸开了线,我们就失去了面积。。。。。。
将我们的建筑房间大小作为“智能”的领域,并能随着我们的推拉而自动更新,这将是非常棒的。。。。 不要把台词弄乱。
只有在必须分解线的情况下才能执行此操作
(defun RB:GetArea ( pts / nextpoint n l )
(defun nextpoint nil
(if (minusp (1- n))
(last pts) (nth (1- n) pts)
)
)
(repeat (setq n (length pts))
(setq l
(cons
(-
(* (car (nth (setq n (1- n)) pts))
(cadr (nextpoint))
)
(* (car (nextpoint))
(cadr (nth n pts))
)
) l
)
)
)
(
(lambda ( x )
(if (minusp x)
(- x) x
)
) (/ (apply (function +)(reverse l)) 2)
)
)
返回平方英寸 hs不旋转房间,因此真正的XY对长度不再有效,但如果坚持使用四边平行房间,则可以获得长度,因为第一个pt-第二个pt是X,第二个pt-第三个pt是Y,同样可能是2个pt之间的长度字段或仅显示距离的关联对齐尺寸。 谢谢Dan中尉和Bigal。。。。。。对有时在lisp和自动化的热潮中,你会忘记Autocad和basic auto lisp有一些简单的命令可以完成这项工作。。。。。。我已经制定了一个由三个例程组成的逐步例程,包括李的例程(不是一个完整的自动化例程),它完成了手头的工作。。。。。这比我们以前做的更快。。。。。谢谢大家的帮助!!!! 大家好,
一个问题:
每当我运行李的区域到领域的程序,它的工作很好。。。。。我已经将李的项目中的区域格式化为SQM。(即使我们的图纸单位为毫米)
然后我手动添加行,将各个区域作为总和添加。
总面积为平方毫米。
我将这些总数单独格式化为平方米。。。。。。不是问题
但每当我保存并重新打开图形时,总面积(仅…不是李的面积)就会恢复为平方毫米。。。。。
我必须再次将它们转换为sqM。。。。。
有什么建议可以阻止这个恢复到平方米,并将总数保持为平方米吗???
谢谢 在另一个论坛中找到此http://forums.augi.com/showthread.php?136634-自定义字段保存其他格式
.... 我还没有尝试过这个,所以不确定它是否有效。。。。
希望这能帮助别人。。。。。
为了解决这个问题,您需要向acfields添加一些代码。fdc。
首先,完全关闭Autocad。
此文件可以在(windows 7)C:\Users\xxx\AppData\Roaming\Autodesk\AutoCAD yyy\R17\chs\Support中找到
您必须用记事本打开它并搜索以下代码:
在第二行之后,您必须复制粘贴以下文本:
平方米
%lu2%ps%ct8
再次打开Autocad时,您会发现自定义用户字段始终可见。
祝你好运
页:
1
[2]