ljcgq 发表于 2004-2-23 20:46:00

命令: _appload 已成功加载 TT.lsp。


<BR>命令:<BR>命令:<BR>命令: 指定对角点:<BR>命令: tt


選閉合曲線: ; 错误: no function definition: VLAX-ENAME-&gt;VLA-OBJECT<BR>

meflying 发表于 2004-2-23 21:04:00

要加载(vl-load-com)以支持VLISP扩展函数

ljcgq 发表于 2004-3-6 18:54:00

谢谢meflying <A title=作者资料 href="http://www.mjtd.com/bbs/dispuser.asp?name=龙龙仔" target="_blank" ><FONT color=#000000>龙龙仔</FONT></A>,我运行了,但是返回的好象不是柱坐标

ljcgq 发表于 2004-3-6 18:57:00

<A title=作者资料 href="http://www.mjtd.com/bbs/dispuser.asp?name=meflying" target="_blank" ><FONT color=#000000>meflying</FONT></A>        <A title=作者资料 href="http://www.mjtd.com/bbs/dispuser.asp?name=龙龙仔" target="_blank" ><FONT color=#000000>龙龙仔</FONT></A>        --不好意思,我对vl很生,能把你的程序思路给我解释一下么?

龙龙仔 发表于 2004-5-20 09:10:00

<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">;;只列出點表<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">;;展開的計算就交給你(LJCGQ)<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">;|<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">指令: TTT<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">選閉合曲線:<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">中心點:<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">半徑: 50<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">等分角度: 1<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">|;<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">(defun C:TTT<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">                                               (/ HOLDOSMODE HOLDECHO PT PT1 PT2 OBJ CPT RAD ANG PT_LIST N AA)<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setq OBJ (vlax-ename-&gt;vla-object (car (entsel "\n</SPAN>選閉合曲線: "))))<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setq CPT (trans (getpoint "\n</SPAN>中心點: ") 1 0))<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setq                       RAD (getdist "\n</SPAN>半徑: ")<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 1">                               N               0<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       )<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (while (progn<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 1">                                              (initget 7)<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 1">                                              (setq ANG (getreal "\n</SPAN>等分角度: "))<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 1">                                              (/= 0 (rem 360 ANG))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 1">                                       )<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       )<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setq HOLDECHO (getvar "cmdecho"))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setvar "cmdecho" 0)<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (command "_.ucs" "")<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setq HOLDOSMODE (getvar "osmode"))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setvar "osmode" 0)<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setq SS (ssadd))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (while (&gt; 360 (* </SPAN><?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:place>N ANG</st1:place>))<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">                       (setq PT1 (polar CPT (/ (* (* </SPAN><st1:place>N ANG</st1:place>) pi) 180) RAD))<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">                       (setq PT2 (list (car PT1) (cadr PT1) 1))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">                       (command "_.line" PT1 PT2 "")<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">                       (ssadd (entlast) SS)<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">                       (setq PT (vlax-safearray-&gt;list<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 1">                                                                              (vlax-variant-value<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 2">                                                                                       (vla-intersectwith<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 2">                                                                                              OBJ<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 2">                                                                                              (vlax-ename-&gt;vla-object (entlast))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 2">                                                                                              acextendotherentity<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 2">                                                                                       )<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 1">                                                                              )<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-tab-count: 1">                                                              )<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">                       )<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">                       (setq PT_LIST (cons PT PT_LIST))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">                       (setq N (1+ N))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       )<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (command "_.erase" SS "")<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       ;;</SPAN>測試<SPAN style="mso-spacerun: yes">       <o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setq AA (reverse PT_LIST))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (command "3dpoly" (nth 0 AA))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (apply 'command (cdr AA))<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (command "c")<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       ;;<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (command "_.ucs" "p")<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setvar "osmode" HOLDOSMODE)<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-spacerun: yes">       (setvar "cmdecho" HOLDECHO)<o:p></o:p></SPAN>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">)<o:p></o:p>



<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><o:p>        </o:p><o:p>        </o:p>

ljcgq 发表于 2004-5-20 21:59:00

谢谢斑竹,我回去完善。
页: 1 [2]
查看完整版本: 怎样将柱体表面的闭和曲线按照柱坐标的角度等分成小段?