明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1223|回复: 2

线模到实体的研究

[复制链接]
发表于 2005-8-28 08:35 | 显示全部楼层 |阅读模式

小弟是新手,我知道已经有很多前辈做过直接由线性模型生成实体模型的程序,不过没有看到过源代码。所以自己编了一个,发上来大家指点。还有一个问题没有解决,就是做管子相贯,没有思路,希望大家给个思路。

(defun c:ltog ()

  (vl-load-com)
  (setq acadobject   (vlax-get-acad-object)
 acaddocument (vla-get-activedocument acadobject)
 mspace      (vla-get-modelspace acaddocument)
  )
  (command "ucs" "")
  (setq ss1 (ssget '((0 . "*LINE,ARC"))))
  (setq n (sslength ss1))
  (setq D (getreal "Input D:")
 ti (getreal "Input t: ")
 radius (/ D 2)
 )
  (setq i 0)
  (while (< i n)
    (set (read (strcat "ssobj" (rtos i)))
  (vlax-ename->vla-object (ssname ss1 i))
    )
    (setq pnt1 (vlax-curve-getstartpoint
   (eval (read (strcat "ssobj" (rtos i))))
        )
    )
    (setq point1 (vlax-make-safearray vlax-vbdouble '(0 . 2)))
    (vlax-safearray-fill
      point1
      (list (nth 0 pnt1) (nth 1 pnt1) (nth 2 pnt1))
    )

    (setq pnt2 (vlax-curve-getendpoint
   (eval (read (strcat "ssobj" (rtos i))))
        )
    )
    
    (command "ucs" "_zaxis" pnt1 pnt2)
    (setq circleobject1 (vla-addcircle mspace point1 radius))
    (setq circleobject2 (vla-addcircle mspace point1 (- radius ti)))
    (setq curves (vlax-make-safearray vlax-vbobject '(0 . 1)))
    (vlax-safearray-fill
      curves
      (list circleobject1 circleobject2)
    )
    (setq rgionobject (vla-addregion mspace curves))
    (vla-boolean
      (vlax-safearray-get-element
 (vlax-variant-value rgionobject)
 1
      )
      acsubtraction
      (vlax-safearray-get-element
 (vlax-variant-value rgionobject)
 0
      )
    )
    (setq rgionename
    (vlax-vla-object->ename
      (vlax-safearray-get-element
        (vlax-variant-value rgionobject)
        1
      )
    )
    )
    (command "extrude"
      rgionename
      ""
      "p"
      (ssname ss1 i)
    )
    (vla-regen acaddocument :vlax-true)
    (command "ucs" "p" "")


    (setq i (1+ i))
  )
)
(princ "这是一个直接将所选中线变成管子的程序,运行程序ltog")
(prin1)

如果要其它截面的,原理是一样的,你也可以通过定义图层来自动生成。

不过,我还没有加入圆\椭圆线,希望大家补充。

 楼主| 发表于 2005-8-29 08:06 | 显示全部楼层
没人感兴趣啊,我先自己顶一下
 楼主| 发表于 2005-9-2 21:50 | 显示全部楼层
求教如何编制程序绘制相贯管子?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-22 00:22 , Processed in 0.196248 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表