明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: yjr111

组合物体选择

    [复制链接]
发表于 2013-9-2 10:26:52 | 显示全部楼层
绝对支持源码
发表于 2014-3-30 13:21:49 | 显示全部楼层
谢谢!支持!以后会有用到的时候
发表于 2014-9-2 00:53:19 | 显示全部楼层
做块的时候 已取消标注!; 错误: *error* 函数中出错AutoCAD 变量设置被拒绝: "nomutt" nil
发表于 2014-9-3 09:34:37 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2014-9-30 08:12:39 | 显示全部楼层
我做了如下改动以支持spline,但没效果,请指教
;;;;;;组合物体中各图元特性
        (cond((= etype "LINE")
                  (setq texing(fixnum(vla-get-length vla_e)))
                  )
                 ((= etype "SPLINE")
                   ;spline 不能使用vla-get-length
                  ;(setq texing(fixnum(vla-get-length vla_e)))
                  (setq texing(fixnum
                    ;(vla-get-length vla_e)
                    (distance
                      (vlax-curve-getStartPoint vla_e)
                      (vlax-curve-getEndPoint vla_e)
                    )
                    ))
                    ;(distance (vlax-curve-getStartPoint (setq vla_e (vlax-ename->vla-object (car (entsel))))) (vlax-curve-getEndPoint vla_e))
                  )
                 ((= etype "LWPOLYLINE")
                  (setq texing(fixnum(vla-get-length vla_e)))
                  )
                 ((= etype "CIRCLE")
                  (setq texing (fixnum(vla-get-radius vla_e)))
                  )
                 ((= etype "ARC")
                  (setq texing(fixnum(vla-get-arclength vla_e)))
                  )
                 ((= etype "ELLIPSE")
                  (setq texing (fixnum(vla-get-RADIUSRATIO vla_e)))
                  )
                 ((or(= etype "TEXT")(= etype "MTEXT"))
                  (setq texing(vla-get-textstring vla_e))
                  )
                 ((= etype "INSERT")
                  (setq texing(vla-get-name vla_e))
                  )
                 ((= etype "HATCH")
                  (setq texing (fixnum(vla-get-area vla_e)))
                  )
                 ((= etype "SOLID")
                  (setq texing (length(vlax-safearray->list(vlax-variant-value(vla-get-coordinates vla_e)))))
                  )
                 (T
                  (setq texing etype)
                  )
             )




      (cond((= etype "LINE")
                (setq texing(fixnum(vla-get-length vla_e)))
                (setq as_e  (strcat etype (rtos texing 2 5)))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
               ((= etype "SPLINE")
                 ;(setq texing(fixnum(vla-get-length vla_e)))
                  (setq texing(fixnum
                    ;(vla-get-length vla_e)
                    (distance
                      (vlax-curve-getStartPoint vla_e)
                      (vlax-curve-getEndPoint vla_e)
                    )
                    ))
                (setq as_e  (strcat etype (rtos texing 2 5)))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
               ((= etype "LWPOLYLINE")
                (setq texing(fixnum(vla-get-length vla_e)))
                (setq as_e  (strcat etype (rtos texing 2 5)))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
               ((= etype "CIRCLE")
                (setq texing(fixnum(vla-get-radius vla_e)))
                (setq as_e  (strcat etype (rtos texing 2 5)))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
               ((= etype "ARC")
                (setq texing (fixnum(vla-get-arclength vla_e)))
                (setq as_e  (strcat etype (rtos texing 2 5)))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
               ((= etype "ELLIPSE")
                (setq texing (fixnum(vla-get-RADIUSRATIO vla_e)))
                (setq as_e  (strcat etype (rtos texing 2 5)))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
               ((or(= etype "TEXT")(= etype "MTEXT"))
                (setq texing(vla-get-textstring vla_e))
                (setq as_e (strcat etype texing))
                (if(= etype "TEXT")
                 (progn
                   (findm2mp AS_E)
                )
                  (progn
                    (findm2mp AS_E)
                )
                  )
                  (SETQ lst_texing NIL)
                )
               ((= etype "INSERT")
                (setq texing (vla-get-name vla_e))
                (setq as_e (strcat etype texing))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
               ((= etype "HATCH")
                (setq texing (fixnum(vla-get-area vla_e)))
                (setq as_e  (strcat etype (rtos texing 2 5)))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
               ((= etype "SOLID")
                (setq texing (length(vlax-safearray->list(vlax-variant-value(vla-get-coordinates vla_e)))))
                (setq as_e  (strcat etype (rtos texing 2 5)))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
               (T
                (setq texing etype)
                (setq as_e (strcat etype texing))
                (findm2mp AS_E)
                (SETQ lst_texing NIL)
                )
             )
发表于 2014-10-20 20:21:32 | 显示全部楼层
感谢分享...不错
发表于 2015-9-12 10:28:28 | 显示全部楼层
要是能把物体组成块就好了,不是所有选择出来组成一个大块,是希望把相同组合体选择出来组块
回复 支持 1 反对 0

使用道具 举报

发表于 2015-10-29 20:02:01 | 显示全部楼层
很好用的程序,,谢谢楼主分享。。
发表于 2017-11-2 16:51:32 | 显示全部楼层

谢谢楼主分享!非常感谢楼主!
发表于 2018-5-1 17:07:39 | 显示全部楼层
老师:我用这个命令时提示
命令: xse
; 错误: no function definition: VLAX-GET-ACAD-OBJECT
怎么处理?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-22 22:49 , Processed in 0.201289 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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