| 
 | 
 
前段时间发过,由于某个原因,已经找不回来了。再次分享给大家。 
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及以上版本使用。 
 
 |   
 
 
 
 |