vivienluo 发表于 2016-4-12 16:23:43

测量线段角度

前段时间发过,由于某个原因,已经找不回来了。再次分享给大家。
allegro好像不能直接测量线段的角度。由于近期发现一些不规则的板子,比如圆形outline。
布局时,也可能需要按任意角度摆放,这就需要涉及到按一定的角度来放置。
所以就简单弄了个工具,如果大家觉得有用,就收藏一下。。。。


axlCmdRegister("line_degree" 'line_degree ?cmdType "interactive")

defun(line_degree ()
let((line slop)
      axlUIConfirm("\307\353\321\241\324\361\320\350\322\252\262\342\301\277\265\304Cline/Line!")
      axlSetFindFilter(?enabled '(noall clinesegs linesegs) ?onButtons      '(noall clinesegs linesegs))
      axlSingleSelectPoint()
      line = car(axlGetSelSet())
      axlClearSelSet()
      when(line      
      axlHighlightObject(line)
      slop = axlLineSlope(line->startEnd)
      if(slop
                then
                        axlUIConfirm(sprintf(nil "Degree : %.2f" axlRadToDeg(atan(slop))))
                else
                        axlUIConfirm("Degree : 90.0")
      )
      axlDehighlightObject(line)
      )
)
);end defun其实代码很简单,核心语句就是axlRadToDeg(atan(axlLineSlope(line->startEnd))),axlRadToDeg函数只能在16.6及以上版本使用。

Damon 发表于 2016-4-12 18:52:45

顶一个!!!!

baibai 发表于 2016-4-20 23:14:43

吊,大神,牛牛牛牛牛!!!!!!!!!!!!!

wintonlee 发表于 2016-5-17 13:59:59

加载进去以后输入命令line_degree,提示错误argument must be a symbol or nil

一线之间 发表于 2016-6-11 11:10:51

强,强..........

bingshuihuo 发表于 2016-6-27 08:14:56

顶一个!!!!

雨后清晨500 发表于 2018-7-2 16:52:10

非常好用,很方便,谢谢罗老师~

yfchen1003 发表于 2019-5-28 08:22:57

路过,谢谢!

wzh6328 发表于 2021-4-9 14:54:55

学习学习,收藏一下

wzh6328 发表于 2021-6-29 09:41:20

大神,牛牛牛牛牛!!
页: [1] 2
查看完整版本: 测量线段角度