明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: 669423907

动态切换标注样式的程序,搞机械的很实用啊!(感谢Gu_xl 版主完美解决)

  [复制链接]
 楼主| 发表于 2011-7-14 13:34:03 | 显示全部楼层
回复 Gu_xl 的帖子

Gu_xl 大师你好,我的意思是 :在动态切换标注样式的程序中加一个功能,当切换到想要的标注样式后(确认后),就把切换到的标注样式置为当前使用的标注样式。再次感谢你的热情帮助!

本帖子中包含更多资源

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

x
发表于 2011-7-14 16:12:48 | 显示全部楼层
不错!学习了
发表于 2011-7-14 16:56:08 | 显示全部楼层
((= 13 (cadr gr)) (setq loop nil)  (command "dimstyle" "r" style) )

评分

参与人数 1金钱 +25 收起 理由
669423907 + 25 谢谢

查看全部评分

 楼主| 发表于 2011-7-14 20:03:51 | 显示全部楼层
回复 zhynt 的帖子

非常感谢zhynt大师的帮助。


我把它加在 (princ))之前,效果可以达到了!



只是出现一个不影响程序使用的错误:“$2”???           ;
错误: no function definition: nil
((= 13 (cadr gr)) (setq loop nil) (command "dimstyle" "r" style))
(princ))


本帖子中包含更多资源

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

x
 楼主| 发表于 2011-7-14 21:28:30 | 显示全部楼层
只要添加   (command "dimstyle" "r" style)   就可以了!
谢谢两位大师!
发表于 2011-7-14 22:52:45 | 显示全部楼层
本帖最后由 raimo 于 2011-7-14 22:54 编辑

可以用鼠标中键(滚轮)切换吗?
发表于 2011-7-15 13:54:11 | 显示全部楼层
raimo 发表于 2011-7-14 22:52
可以用鼠标中键(滚轮)切换吗?

是啊 这个好像更方便 好想法啊
发表于 2011-7-15 14:04:54 | 显示全部楼层
669423907 发表于 2011-7-11 23:00
想请高手们帮忙写一个动态切换标注样式的程序,不知是否能达到以下效果:
已有标注样式:  5,7,10,13,15,1 ...

非常有创意的程序,GOODidea
顺问下 用的GG录屏吗 很清晰
发表于 2011-7-15 14:10:59 | 显示全部楼层
本帖最后由 cumtjh 于 2011-7-15 14:22 编辑


  1. ;;;动态切换标注样式的程序,搞机械的很实用啊!(感谢Gu_xl 版主完美解决)
  2. ;;;http://bbs.mjtd.com/forum.php?mod=viewthread&tid=88162&fromuid=269329
  3. ;作者:By Gu_xl 版主(感谢669423907提出好点子 )
  4. ;;整理:By cumtjh
  5. ;;待改进 为支持鼠标中键切换标注就更帅啦
  6. ;;根据此程序可以做动态缩放等 一些动态命令 值得推荐

  7. (defun c:tabdim (/ loop i ss dimstyles gr cnt)
  8.   (setq dimstyles (vl-sort (gxl-table "dimstyle") '(lambda (a b) (> (atoi a) (atoi b))))
  9.         cnt (length dimstyles)
  10.         i -1
  11.         loop t
  12.         )
  13.   (setq ss (ssget '((0 . "DIMENSION"))))
  14.   (if ss
  15.     (progn
  16.       (princ "\n*** 键入 A 或 S 切换标注样式 , 回车键或右键结束 *** ")
  17.       (princ "\n")
  18.       (while loop
  19.         (setq gr (grread t 5 1))
  20.         (if (= 2 (car gr))
  21.         (cond ((or (= 97 (cadr gr)) (= 65 (cadr gr)))
  22.                (setq i (1+ i)
  23.                      i (rem i cnt)
  24.                      )
  25.                (setq style (nth i dimstyles))
  26.                (princ (strcat "\r***当前标注样式为: " style "                                     "))
  27.                (gxl-sel-mapcar ss '(lambda (x) (GXL-CH_ENT x 3 style)))
  28.                )
  29.               ((or (= 83 (cadr gr)) (= 115 (cadr gr)))
  30.                (setq i (1- i))
  31.                 (if (MINUSP i) (setq i (+ i cnt)))   
  32.                (setq style (nth i dimstyles))
  33.                (princ (strcat "\r***当前标注样式为: " style "                                     "))
  34.                (gxl-sel-mapcar ss '(lambda (x) (GXL-CH_ENT x 3 style)))
  35.                )
  36.               ((= 13 (cadr gr)) (setq loop nil))
  37.               ) ;_ cond
  38.           (if (= 25 (car gr))
  39.             (setq loop nil)
  40.             )
  41.           )
  42.         )
  43.       
  44.       )
  45.     )
  46.     (command "dimstyle" "r" style);切换到的标注样式置为当前使用的标注样式
  47.     (princ (strcat "\r***当前切换标注样式为: " style "                                     "))
  48.     (princ)
  49.   )
  50. ;;;gxl-table 返回包含在指定符号表中的所有元素
  51. (defun gxl-table (s / d r)
  52.   (while (setq d (tblnext s (null d)))
  53.     (setq r (cons (cdr (assoc 2 d)) r))
  54.   )
  55. )
  56. ;;;(gxl-CH_Ent ent i pt) 用新值pt更新图元ent索引i对应的值
  57. (defun gxl-CH_Ent (ent i pt / en)
  58.   (if (assoc i (setq en (entget ent)))
  59.     (setq en (subst (cons i pt) (assoc i en) en))
  60.     (setq en (append en (list (cons i pt))))
  61.     )
  62.     (entmod en)
  63.   )
  64. ;;;(gxl-Sel-Mapcar ss Fun) 遍历选择集对所包含的图元进行指定函数操作,返回操作后的表
  65. (defun gxl-Sel-Mapcar (ss Fun / nn rtn)
  66.   (repeat (setq nn (sslength ss))
  67.   (setq rtn (cons (apply Fun (list (ssname ss (setq nn (1- nn))))) rtn))
  68.     )
  69.   )

发表于 2011-7-15 17:37:11 | 显示全部楼层
不错,下来学习.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 16:51 , Processed in 0.158728 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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