明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1379|回复: 9

[提问] 谁能把这个代码做成插件给我发下啊 不胜感激

[复制链接]
发表于 2015-6-10 15:29:21 | 显示全部楼层 |阅读模式
<div class="blockcode"><blockquote>(Defun c:tt ( / e i ii ptlist s1 sc ss sss x )
  (setq i  -1 ss (ssget "_:L" '((0 . "INSERT") (66 . 1))))
  (while (setq s1 (ssname ss (setq i (1+ i))))
    (setq ptlist (getboundingbox s1))
    (setq sss (ssget "W" (car ptlist)(cadr ptlist) '((0 . "DIMENSION,LEADER,*TEXT"))))
    (repeat (setq ii (sslength sss))
      (setq sc (dxf 41 s1))
      (setq e (ssname sss (setq ii (1- ii))) x (cdr (Assoc 0 (Entget e))))
      (cond
        ((= x "TEXT") (CH-DXF e 40 (* sc (Getvar "dimtxt"))))
        ((= x "MTEXT") (CH-DXF e 40 (* sc (Getvar "dimtxt"))))
        ((= x "DIMENSION")(vla-put-ScaleFactor (vlax-ename->vla-object e) sc))
        ((= x "LEADER")(vla-put-ScaleFactor (vlax-ename->vla-object e) sc))
      )
    )
  )
)
(Defun getboundingbox ( entName / entpl entpr )
  (vla-getboundingbox (vlax-ename->vla-object entName) 'entpl 'entpr)
  (Mapcar 'vlax-safearray->list (list entpl entpr))
)
(Defun dxf ( i ent )(cdr (Assoc i (Entget ent))))
(Defun CH-DXF ( ename code val / old_num new_num ent )
  (if (setq ent (entget ename)
        new_num (cons code val)
        old_num (assoc code ent)
      )
    (Entmod (subst new_num old_num ent))
    (Entmod (reverse (cons new_num (reverse ent))))
  )
)
发表于 2015-6-10 17:27:57 | 显示全部楼层
你想要个什么样的插件?
又不是工具集,建议工具栏上做个引用好了。
 楼主| 发表于 2015-6-10 17:42:51 | 显示全部楼层
是把这代码转换成插件  我自己用VLISP 编辑 不行啊
发表于 2015-6-10 17:53:27 | 显示全部楼层
(Defun c:tt ( / e i ii ptlist s1 sc ss sss x )
  (setq i  -1 ss (ssget "_:L" '((0 . "INSERT") (66 . 1))))
  (while (setq s1 (ssname ss (setq i (1+ i))))
    (setq ptlist (getboundingbox s1))
    (setq sss (ssget "W" (car ptlist)(cadr ptlist) '((0 . "DIMENSION,LEADER,*TEXT"))))
    (repeat (setq ii (sslength sss))
      (setq sc (dxf 41 s1))
      (setq e (ssname sss (setq ii (1- ii))) x (cdr (Assoc 0 (Entget e))))
      (cond
        ((= x "TEXT") (CH-DXF e 40 (* sc (Getvar "dimtxt"))))
        ((= x "MTEXT") (CH-DXF e 40 (* sc (Getvar "dimtxt"))))
        ((= x "DIMENSION")(vla-put-ScaleFactor (vlax-ename->vla-object e) sc))
        ((= x "LEADER")(vla-put-ScaleFactor (vlax-ename->vla-object e) sc))
      )
    )
  )
)
(Defun getboundingbox ( entName / entpl entpr )
  (vla-getboundingbox (vlax-ename->vla-object entName) 'entpl 'entpr)
  (Mapcar 'vlax-safearray->list (list entpl entpr))
)
(Defun dxf ( i ent )(cdr (Assoc i (Entget ent))))
(Defun CH-DXF ( ename code val / old_num new_num ent )
  (if (setq ent (entget ename)
        new_num (cons code val)
        old_num (assoc code ent)
      )
    (Entmod (subst new_num old_num ent))
    (Entmod (reverse (cons new_num (reverse ent))))
  )
)
 楼主| 发表于 2015-6-11 09:01:38 | 显示全部楼层
yoyoho 发表于 2015-6-10 17:53
(Defun c:tt ( / e i ii ptlist s1 sc ss sss x )
  (setq i  -1 ss (ssget "_:L" '((0 . "INSERT") (66 . ...

不行啊 显示错误  输入中含有多余闭括号
发表于 2015-6-11 16:09:16 | 显示全部楼层
yf793826152 发表于 2015-6-11 09:01
不行啊 显示错误  输入中含有多余闭括号

在AUTOCAD2011测试,程序可运行!
 楼主| 发表于 2015-6-11 16:15:29 | 显示全部楼层
yoyoho 发表于 2015-6-11 16:09
在AUTOCAD2011测试,程序可运行!

可以给个操作演示吗  或者插件给我发一下   谢谢 啊
发表于 2015-6-14 10:47:27 | 显示全部楼层
可以用,但不知道是什么功能
发表于 2016-6-11 16:01:56 | 显示全部楼层
yoyoho 发表于 2015-6-9 23:53
(Defun c:tt ( / e i ii ptlist s1 sc ss sss x )
  (setq i  -1 ss (ssget "_" '((0 . "INSERT") (66 . ...

你写的?
发表于 2016-6-11 20:03:46 | 显示全部楼层
不是! 顶楼 yf793826152 贴出的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 15:23 , Processed in 0.429002 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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