某些rot中没有关联代码信息
大家好,我正在尝试处理一个与尺寸相关的autolisp,需要通常存储在关联代码50中的尺寸旋转角度(我认为),我碰巧发现有些尺寸的关联代码50始终为0.0,即使旋转。
我比较了两种类型的维度,一种是“正常”的assoc代码50,另一种是额外的代码(100。“AcDbRotatedDimension”),我尝试了“MATCHPROP”,但不起作用。
谁能帮我解决这个问题。
非常感谢。 存储旋转角度的是使用旋转选项插入的线性标注。第二个是对齐的;可以从插入点的相对位置(DXF代码10和11)获得其旋转。 啊。。。。。。谢谢。
这意味着我必须做一些正弦/余弦计算来获得旋转角度 实际上不需要,只需使用角度内置功能:
(angle (cdr (assoc 11 assocListAlignDim))
(cdr (assoc 10 assocListAlignDim)) 但DXF代码11是文字的插入点,可能会有所不同,而DXF代码10是尺寸线的终点。 是的,你是对的,我错了。似乎必须寻找DXF代码13和14。很抱歉给您带来不便。 DXF代码13和14也不能这样做,因为13和14的位置也可能不同!!我试图找出DXF 10和14的距离/角度与DXF 14和13的距离/角度之间的关系 根据DXF参考,代码13和14是“线性和角度尺寸的定义点”。所以,在我看来,计算对齐尺寸的方向是可靠的。
你可以张贴,请与案件Sketch时,这些不匹配的角度? 这只是一个让你思考的例子。
(setq e (entget (car (entsel "\n Select Dim :"))))
(setq a (cdr (assoc 13 e))
b (list (car (cdr (assoc 14 e))) (cadr a) (caddr (cdr (assoc 14 e))))
d (distance a b)
ang (angle a b)
)
这是我第一次在这里附上图片,希望没有造成任何可怕的事情
页:
[1]
2