00lg 发表于 2007-10-27 08:18:00

已知圆弧,怎么求一直线.

<p>小弟近来想编一个组件,需要各位大大帮忙.这个组件的功能是这样的.</p><p>选择一条园弧,自动求出它的两个端点,在这两点间画一条直线.</p><p>请大家帮忙,不胜感激.</p><p>我只会用最基本的LISP函数,太高级的不要吓我啊,呵呵</p>

caoyin 发表于 2007-10-27 11:15:00

<p>(defun c:tt (/ en)<br/>&nbsp; (if (and (setq en (entsel "\n选择圆弧: "))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (= (cdr (assoc 0 (entget (setq en (car en))))) "ARC")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setvar "osmode" 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.line"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vlax-curve-getStartPoint en)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vlax-curve-getEndPoint en)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ""<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (princ "\n无效选择。")<br/>&nbsp; )<br/>&nbsp; (princ)<br/>)</p><p></p>

ZZXXQQ 发表于 2007-10-27 13:30:00



;明经 圆弧端点连线 ZZXXQQ 2007.10.27
(DEFUN C:TT ()
(SETVAR "CMDECHO" 0)
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(IF (AND (PRINC "\nSelect Arc(s) ") (SETQ SS (SSGET '((0 . "ARC"))))) (PROGN
(SETQ I -1)
(REPEAT (SSLENGTH SS)
   (SETQ ENT (ENTGET (SSNAME SS (SETQ I (1+ I))))
         PC (CDR (ASSOC 10 ENT))
   R(CDR (ASSOC 40 ENT))
   P1 (POLAR PC (CDR (ASSOC 50 ENT)) R)
   P2 (POLAR PC (CDR (ASSOC 51 ENT)) R))
   (COMMAND "LINE" P1 P2 "")
)
))
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
)

00lg 发表于 2007-10-27 15:56:00

<p>很多谢楼上2位,又学到东西了.我能请你们吃饭吗?</p>

zwzmh 发表于 2007-10-29 00:31:00

<p>又学到了一些东西</p>

zwzmh 发表于 2007-10-29 20:05:00

不错,挺实用的

yang198910204 发表于 2012-11-4 17:11:44

怎么我试了一下没用呢??我是在2004CAD上试用了一下没用哦
页: [1]
查看完整版本: 已知圆弧,怎么求一直线.