rog1n 发表于 2022-7-5 13:11:29

箭头(矢量合成)

您好,我试图制作一个lisp来插入(或可能绘制)一个箭头,该箭头显示向量结果的值和角度(这部分没问题),我的问题是我需要插入这样对齐的顶点:
 

 
但是如果我尝试在这个块中使用旋转,当角度>90°时,文本的方向是错误的

dlanorh 发表于 2022-7-5 13:32:59

你可以发布2010年格式的图纸,以及任何lisp你已经有了。如果角度在范围内,则插入块后,只需重新定义每个属性旋转。

rog1n 发表于 2022-7-5 13:42:51

你好

(defun c:test ()
(setq centro (getpoint "\nEntre com o ponto central do diagrama: "))
;I have a function that return me angR (in radians) and FR as string
(setq angR 2.617993878) ; Just for example angR=150 degrees and FR=100 DaN
(setq FR "100 DaN")
(command "-insert" "r" "_s" "1" centro (angtos angR) FR (angtos angR))
)

BIGAL 发表于 2022-7-5 13:56:05

这里有一个动态块,可以查看方向并更改文本角度,它使用4个属性并更改其中3个属性的不可见性,因此箭头始终正确。我记得我说过一些话

dlanorh 发表于 2022-7-5 14:02:43

随附图纸“IR.dwg”,其中包含修订的块和lisp“IR.lsp”
 
我已经从块中删除了一个旋转参数,因为它不需要,并将重新生成的参数重命名为“Text_Ang”。块以输入的旋转角度插入。我还更改了块内容,使其位于层“0”和颜色“byblock”上,从而使块具有通用性。我还将“R”属性的属性对正改为“middle”,将“A”属性的属性对正改为“middle center”。
 
将lisp文件保存在documents文件夹中,并通过键入“appload”加载它,然后导航到保存它的位置,选择它并按“load”按钮,然后按“close”按钮。
在命令行上键入“IR”以启动lisp。
 
我假设您是以度为单位工作的,但如果您不是,lisp是可以更改的。
 
它将询问插入点、所需角度(以度为单位)和力?(属性“R”文本)
 
然后,它将以指定角度在当前活动层上插入块,并填充块属性。
 
如果块旋转>90

rog1n 发表于 2022-7-5 14:19:52

谢谢你,德拉诺,这正是我需要的
页: [1]
查看完整版本: 箭头(矢量合成)