明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4390|回复: 14

[源码] 几个二合一命令,是多位高手帮忙弄的,我只是拿出来给大家,希望大家喜欢

[复制链接]
发表于 2013-6-7 23:23 | 显示全部楼层 |阅读模式
第一个小程序,按tt,切换单行文字和 多行文字
这2个命令用的少,又占了左手键,所以整合
(setq ddd1 1)
(defun c:tt()
(setq ddd1 (* ddd1 -1))
(if (> ddd1 0)  (princ "绘图工具  绘制 多行文字  :\n")
(princ "绘图工具  绘制 单行文字 :\n"))
(if (> ddd1 0)
(c:mt)
(command "dtext") )
(princ)
)

第2个,按a,切换弧和圆,这2个也用的少,
(setq aaa1 1)
(defun c:a()
(setq aaa1 (* aaa1 -1))
(if (> aaa1 0)  (princ "绘图工具  绘制圆  :\n")
(princ "绘图工具  绘制弧  :\n"))
(if (> aaa1 0)
(command "_.CIRCLE")  
(command "_.arc") )
(princ)
)
第3个,
;---------- 显示顺序 切换 开始
;---------- 通用2选1程序
(setq bbb1 1)
(defun c:hx()
(setq bbb1 (* bbb1 -1))
(if (> bbb1 0)  (c:qzwt)  (c:hzwt))
(princ)
)
(defun c:qzwt (/ ss)
(print "     调整显示顺序,前置物体")
(setq ss (ssget))
(command "DRAWORDER" ss "" "f")
)
(defun c:hzwt (/ ss)
(print "     调整显示顺序,后置物体")
(setq ss (ssget))
(command "DRAWORDER" ss "" "b")
)
;---------- 显示顺序 切换 结束
第4个,我是切换前缀后缀的,是装了文字修改大师才能用的,
;---------- 前缀后缀 切换
;---------- 通用2选1程序
(setq ccc1 1)
(defun c:qz()
(setq ccc1 (* ccc1 -1))
(if (> ccc1 0)  (princ "文修大师    前缀  :\n") (princ "文修大师    后缀  :\n"))
(if (> ccc1 0)  (c:cttaa)  (c:cttas))
(princ)
)

本来还能切换图层打开关闭,等等很多应用哦,大家自己去想想怎么用吧
"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

  • · 收集|主题: 58, 订阅: 4
发表于 2023-12-19 16:04 | 显示全部楼层
tranney大师好!您的这几个命令组合很好。我很喜欢第3个:

第3个,
;---------- 显示顺序 切换 开始
;---------- 通用2选1程序
(setq bbb1 1)
(defun c:hx()
(setq bbb1 (* bbb1 -1))
(if (> bbb1 0)  (c:qzwt)  (c:hzwt))
(princ)
)
(defun c:qzwt (/ ss)
(print "     调整显示顺序,前置物体")
(setq ss (ssget))
(command "DRAWORDER" ss "" "f")
)
(defun c:hzwt (/ ss)
(print "     调整显示顺序,后置物体")
(setq ss (ssget))
(command "DRAWORDER" ss "" "b")
)
;---------- 显示顺序 切换 结束

我运行后出现这样的问题:

命令: hx ; 错误: no function definition: C:HZWT

没有函数定义。我是小白,不知该如何解决,请大师指教,怎么处理这个问题,谢了
发表于 2023-12-21 08:16 | 显示全部楼层
昨天忘记告诉大师我的运行环境:
Win10版本, CAD2010版本。谢谢
发表于 2013-6-8 19:57 | 显示全部楼层
多谢分享啊!
发表于 2013-6-8 20:05 | 显示全部楼层
这是怎么实现切换??

我一直以为要用关键词或根据实体类型来实现切换呢!

评分

参与人数 1金钱 +6 收起 理由
tranney + 6 哈哈,有个还是你帮忙弄的呢,谢谢哈

查看全部评分

发表于 2013-6-10 02:17 | 显示全部楼层
我这也有个,画圆或复制二合一,先输命令是画圆;先选图元是复制,也是在论坛上找到的,贴上来,算是一个补充吧。
原帖地址:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=88900
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ; c快捷键,当没有选择实体是按c为画圆;当选择实体是按c为复制。
  3. ; by: ProgramFancier  2011.8.21
  4. ; Test in AutoCAD2010
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6. (defun c:c()
  7.   (setq ss (ssget "i")) ;将已选中的实体加入选择集
  8.   (if (= ss nil)
  9.     (command "CIRCLE") ;如果选择集为空,则执行画圆命令
  10.     (command "COPY" "M")   ;如果选择集不为空,则执行复制命令
  11.   )
  12.   (princ)
  13. )

发表于 2013-6-10 10:55 | 显示全部楼层
谢谢众位坛友代码分享!
发表于 2013-7-10 22:47 | 显示全部楼层
终于学习到,谢谢楼友分享
发表于 2013-7-11 12:29 | 显示全部楼层
学习学习
发表于 2014-8-21 20:27 | 显示全部楼层
谢谢分享。
发表于 2014-8-22 11:08 | 显示全部楼层
思路不错,学习了
发表于 2014-8-22 11:10 | 显示全部楼层
多谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-3 09:23 , Processed in 0.160831 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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