1078815748 发表于 2011-6-21 07:45:19

198526 发表于 2011-6-21 08:42:17

回复 ljpnb 的帖子

是我考虑不周,谢谢提醒!

zhynt 发表于 2011-6-21 10:27:50

回复 1078815748 的帖子

不知道你要什么样的效果。

ljpnb 发表于 2011-6-21 11:03:12

zhynt 发表于 2011-6-20 21:05 static/image/common/back.gif
也来凑个热闹(改了一下)
修改了一下,相对完美了一些。

我看程序还不够完美,当等分线与参考线不垂直时,出来的结果会不一样。。
我图片贴不上来,不然会一看就明白了。。。。

zhynt 发表于 2011-6-21 11:29:25

本帖最后由 zhynt 于 2011-6-21 11:34 编辑

回复 ljpnb 的帖子

哦,按你的要求改了一下,增加参考线方向的判断:

(setq ptangle (angle pt1 pt2)
          ptangle2 (angle pt3 pt4)          ;参考线角度
          ptn (polar pta ptangle2 0.01)   ;按参考线方向生成参考点
          jpt (inters pta ptn pt1 pt2 nil)
          ang (angle jpt pta)
         l3 (/ (- l1 (* jianju (- n 1))) n)
          pt5 (polar pt1 ptangle l3)
)


1078815748 发表于 2011-6-21 12:01:41

1078815748 发表于 2011-6-21 12:07:51

ljpnb 发表于 2011-6-21 14:02:26

本帖最后由 ljpnb 于 2011-6-21 14:04 编辑

1078815748 发表于 2011-6-21 12:07 http://bbs.mjtd.com/static/image/common/back.gif
回复 1078815748 的帖子

遇到这样的分格总是用手算出来再把点放上去,工作用量太大了,也太麻烦了,总想找 ...


(defun c:test ()
(princ "\n请选择需要等分的圆弧:")
(if (setq ss (ssget '((0 . "ARC"))))
    (progn
      (setq n (getint "\n 输入几个大格:"))
      (or (setq l (getreal "\n输入小格弧长<15>:")) (setq l 15.))
      (setq i 0)
      (setq os (getvar "osmode"))
      (setvar "osmode" 0)
      (setvar "pdmode" 34);;值可以设定其它的         
      (SETVAR "CMDECHO" 0)
      (command "undo" "g")
      (repeat (sslength ss)
      (setq obj (vlax-Ename->Vla-Object (ssname ss i)))
      (setq len (vla-get-arclength obj))
      (setq dis (/ (- len (* l (1- n))) n))
      (setq k 1.)
      (repeat      (1- n)
          (setq      point1
               (vlax-curve-getPointAtDist obj (+ (* k dis) (* (1- k) l)))
          )
          (setq      point2
               (vlax-curve-getPointAtDist obj (+ (* k dis) (* k l)))
          )
          (command "point" point1)
          (command "point" point2)
          (setq k (1+ k))
      )
      (setq i (1+ i))
      )
    )
)
(setvar "osmode" os)
(command "undo" "e")
(SETVAR "CMDECHO" 1)
(princ)
)

xyp1964 发表于 2011-6-21 14:14:18

另类等分

1078815748 发表于 2011-6-21 14:34:59

页: 1 [2] 3 4 5 6 7
查看完整版本: [已解决]请高手帮忙做个简单的等分工具