明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 【KAIXIN】

【KAIXIN】----通用函数,跟贴伪源码

     关闭 [复制链接]
 楼主| 发表于 2012-12-3 11:19:11 | 显示全部楼层
  1. ;(改块名)无名转有名  作者:【KAIXIN】,QQ:295963716
  2. ;本程序需要KAIXIN通用函数的支持
  3. (defun C:XX (/ obj bkn)
  4. (KX-COMA)
  5. (KX-princA "(改块名)无名转有名")
  6.   (setq obj (KX-E2O (CAR (KX-Get-Entsel '((0 . "INSERT")(2 . "`**")) "无名块"))));转为VLA对象
  7.   (setq bkn (KX-str 1 "块名" bkn nil nil))
  8.   (KX-Wm2Insert obj bkn);改块名
  9. (KX-COMB)
  10. )
 楼主| 发表于 2012-12-3 11:19:37 | 显示全部楼层
  1. ;目录图纸下插入图档里面的块   作者:【KAIXIN】,QQ:295963716
  2. ;本程序需要KAIXIN通用函数的支持
  3. (DEFUN C:XX (/ BLK P1)
  4. (KX-COMA)
  5. (KX-princA "目录图纸下插入块")
  6.    (apply 'vl-cmdf (list "_.insert" "d:\\1.dwg" "0,0" "1" "" ""));目录可改
  7.      (KX-E (entlast))
  8.     (while (/= (setq blk (KX-str 0 "块名" "" nil nil) ) "")
  9.       (while (setq p1 (getpoint "\n->请指定基点: "))
  10.         (KX-Mk-Insert blk p1 0)
  11.       )
  12.     )
  13.    (apply 'vl-cmdf (list "_.purge" "all" ""  "n"))
  14. (KX-COMB)
  15. )
 楼主| 发表于 2012-12-3 11:20:18 | 显示全部楼层
  1. ;更改块名(所有同名块)
  2. (DEFUN C:XX (/ ENTNAM NEWNAM)
  3. (KX-COMA)
  4. (KX-princA "更改块名(所有同名块)")
  5.   (setq EntNam (car (KX-GET-entsel '((0 . "INSERT")) "块")))
  6.     (if (setq NewNam (KX-str 1 "新块名<字符规范,不要重名>" str nil ChuShi))
  7.       (KX-Put-Bkname EntNam NewNam)
  8.       (princ "\n你没有输入新块名!")
  9.     )
  10. (KX-COMB)
  11. )
 楼主| 发表于 2012-12-3 11:20:55 | 显示全部楼层
  1. ;块替换
  2. (DEFUN C:XX (/ S1 BLKNAME SS X)
  3. (KX-COMA)
  4. (KX-princA "块替换")
  5.   (setvar "osmode" 0)
  6.   (SETQ s1 (KX-GET-entsel '((0 . "INSERT")) "源块"))
  7.   (setq BlkName (KX-get-dxf 2 (CAR s1)))
  8.   (princ "\n-->请选取将替换的图块:")
  9. (while(setq ss (ssget":s" (list (cons 0 "INSERT"))))
  10.              (setq X -1 )
  11.     (while (setq s1 (ssname ss (setq X (1+ X))))
  12.        (KX-PUT-DXF s1 2 BlkName)
  13.     )
  14. )
  15. (KX-COMB)
  16. )
 楼主| 发表于 2012-12-3 15:28:39 | 显示全部楼层
  1. ;点选删除所有同名图块
  2. (DEFUN C:XX (/ S1 ET SS SL)
  3. (KX-COMA)
  4. (KX-princA "点选删除所有同名图块")
  5.    (SETQ s1 (KX-GET-entsel '((0 . "INSERT")) "样板块")
  6.          et (KX-get-DXF 0 (car s1))
  7.    )

  8.       (setq ss (ssget "X" (list (cons 0 "INSERT") (cons 2 (KX-get-DXF 2 (car s1)))))
  9.             sl (sslength ss)
  10.       )
  11.       (KX-E ss)
  12.       (princ "\n共删除同名图块 ")
  13.       (princ sl)
  14.       (princ " 个!")
  15. (KX-COMB)
  16. )
发表于 2012-12-3 19:37:21 | 显示全部楼层
看看是什么东西

点评

通用函数全部源码,低价抛售中!  发表于 2013-1-20 10:55
发表于 2012-12-4 13:49:38 | 显示全部楼层
顶 楼主

点评

通用函数全部源码,低价抛售中!  发表于 2013-1-20 10:55
 楼主| 发表于 2012-12-9 07:51:25 | 显示全部楼层
  1. (DEFUN C:XX (/ SS I S1 VS FLG)
  2. (KX-COMA)
  3. (KX-princA "添加或删除尺寸的方框")
  4.       (KX-PRINC "标注对象")
  5.    (setvar "regenmode" 1)
  6. (while
  7.   (setq        ss (SSGET":s" '((0 . "DIMENSION"))))
  8.   (setq i  -1)
  9.   (while (setq s1 (ssname ss (setq i (1+ i))))
  10.       (setq vs (KX-E2O s1));转为VLA对象
  11.       (setq flg (vla-get-TextGap vs))
  12.       (if (< flg 0)
  13.       (vla-put-TextGap vs 1)
  14.       (vla-put-TextGap vs -1)
  15.       )
  16.   )
  17. )
  18. (KX-COMB)
  19. )添加或删除尺寸的方框
 楼主| 发表于 2012-12-13 09:40:47 | 显示全部楼层
  1. ;创建并插入匿名块,作者:【KAIXIN】,QQ:295963716
  2. ;本程序需要KAIXIN通用函数的支持
  3. (DEFUN C:XX (/ PT)
  4. (KX-COMA)
  5. (KX-princA "创建并插入匿名块")
  6.    (while (KX-PRINC "成块的对象")
  7.       (setq ss  (SSGET)
  8.             pt (getpoint "\n-->请指定块基点:")
  9.       )
  10.     (KX-Mk-Wm-Block SS pt)
  11.    )
  12. (KX-COMB)
  13. )
发表于 2012-12-13 12:42:24 | 显示全部楼层
下载来学习 学习

点评

通用函数全部源码,低价抛售中!  发表于 2013-1-24 18:25
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 22:26 , Processed in 0.197300 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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