明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: kucha007

【DZ】文字增减_v1.9——支持词组匹配+钢筋符号+罗马数字

    [复制链接]
发表于 2023-9-22 17:44 | 显示全部楼层
为什么有些文件这个文字增减用不了?有些又可以?

本帖子中包含更多资源

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

x
发表于 2023-9-22 17:54 | 显示全部楼层
麻烦看下,什么问题?有些文件不行,有些又可以!附件这个文件就不行

本帖子中包含更多资源

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

x
 楼主| 发表于 2023-9-22 20:36 | 显示全部楼层
小毛草 发表于 2023-9-22 17:54
麻烦看下,什么问题?有些文件不行,有些又可以!附件这个文件就不行

修复了,再试试看
发表于 2023-9-23 09:23 | 显示全部楼层
本帖最后由 小毛草 于 2023-9-23 09:53 编辑
kucha007 发表于 2023-9-22 20:36
修复了,再试试看

确实已经修复,谢谢!兄弟,能让以下代码支持属性块吗?
  1. ;_仿sketchup动态复制程序
  2. (defun   c:ddc (/ #error $orr p1 p2 s e cn a1 d1 ns cnn)
  3. ;___
  4. (defun #error (s)
  5.     (command ".UNDO" "E")
  6.     (setvar "osmode" snap)
  7.     (setq *error* $orr)
  8.   )
  9.   (setq snap (getvar "osmode"))
  10.   (setvar "cmdecho" 0)
  11.   (setq $orr *error*
  12.         *error* #errormike
  13.   )_______________
  14.   (defun ttt (ss n / m)
  15.     (setq ee e
  16.       ns (ssadd)
  17.     )
  18.     (while (setq ee (entnext ee))
  19.       (setq ns (ssadd ee ns))
  20.     )
  21.     (command "erase" ns "")
  22.     (command "copy" ss "" "m" "non" p1)
  23.     (if (member (substr n (strlen n)) '("/" "*"))      
  24.       (progn
  25.   (setq m 0)
  26.   (repeat  (atoi n)
  27.     (setq m (1+ m))
  28.     (cond
  29.       ((= "/" (substr n (strlen n)))
  30.        (command "non"(mapcar '(lambda (x y) (+ x (* m (/ (- y x) (atof n))))) p1 p2))
  31.       )
  32.       ((= "*" (substr n (strlen n)))
  33.        (command "non"(mapcar '(lambda (x y) (+ x (* m (- y x)))) p1 p2))
  34.       )
  35.     )
  36.   )
  37.       )
  38.       (command "non" (setq p2 (polar p1 a1 (atof n))))
  39.     )
  40.     (command)
  41.   )
  42. ;__________________
  43.   (princ "\n动态复制程序")
  44.   (princ "\n选择要复制的物体:")
  45.   (setq s (ssget))
  46.   (setq p1 (getpoint "\n复制的起点:"))
  47.   (command "undo" "be" "line" p1 p1 "" )
  48.   (setq e (entlast) )
  49.   (command "copy" s "" "non" p1 pause)
  50.   (setq  p2 (getvar "lastpoint")
  51.   a1 (angle p1 p2)
  52.   d1 (distance p1 p2)
  53.   )
  54.   (setq cn "1*")
  55.   (while cn
  56.     (ttt s cn)
  57.     (initget 128)
  58.     (princ "\n输入坐标=复制终点                         输入数值=修改间距 ")
  59.     (princ "\n输入数值n并以 / 结束=间距内等分n次复制    输入数值n并以 * 结束=按间距复制n次 ")
  60.     (setq cnn (getpoint "\n请按提示输入<退出>:"))
  61.     (if  (= 'LIST (type cnn))
  62.       (setq p2 cnn
  63.       a1 (angle p1 p2)
  64.       d1 (distance p1 p2)
  65.       )
  66.       (setq cn cnn)
  67.     )
  68.   )
  69.   (entdel e)
  70.   (command "undo" "e")
  71.   (princ)
  72. )

  73. ________________________________________________
  74. ;_仿sketchup动态旋转程序
  75. (defun c:ddr(/ p1 p2 p3 a1 cn cnn tmp e s)
  76.   ;_____________________________
  77.   (defun rc (os / ns ne)
  78.     (setq ne (entlast)
  79.     ns (ssadd)
  80.     )
  81.     (command "copy" os ""  "0,0"   "0,0")
  82.     (while (setq ne (entnext ne))
  83.       (setq ns (ssadd ne ns))
  84.     )
  85.     ns
  86.   )
  87.   (defun ttt (ss n / m ee ns sn )
  88.     (setq ee e
  89.       ns (ssadd)
  90.     )
  91.     (while (setq ee (entnext ee))
  92.       (setq ns (ssadd ee ns))
  93.     )
  94.     (command "erase" ns "")   
  95.     (if (member (substr n (strlen n)) '("/" "*"))      
  96.       (progn
  97.   (setq m 0)
  98.   (repeat  (atoi n)
  99.     (setq m (1+ m))
  100.     (setq sn(rc ss))
  101.     (cond
  102.       ((= "/" (substr n (strlen n)))
  103.        (command  "rotate" sn "" p1 (* m (/ a1 (atof n))))
  104.       )
  105.       ((= "*" (substr n (strlen n)))
  106.        (command  "rotate" sn "" p1 (* m a1))
  107.       )
  108.     )
  109.   )
  110.       )
  111.       (progn
  112.   (setq sn(rc ss))
  113.       (command  "rotate" sn "" p1 (setq a1 (atof n)))
  114.       )
  115.     )
  116.   )
  117.   ;_____________________________
  118.   (princ "\n动态旋转程序")
  119.   (princ "\n选择要旋转的物体:")  
  120.   (setq s (ssget))
  121.   (setq p1 (getpoint "\n旋转基点"))
  122.   (setq p2 (getpoint p1 "\n旋转起点"))
  123.   (command "undo" "be" "line"  p1  p2 "")
  124.   (setq e (entlast))
  125.   (setq p3 (getpoint p1 "\n旋转终点"))
  126.   (setq tmp (rc s) )
  127.   (command  "rotate" tmp ""  p1 "r"  p1  p2  p3)
  128.   (setq cn "1*" a1 (* 180 (/ (-(angle p1 p3)(angle p1 p2))pi)))  
  129.   (while cn   
  130.     (ttt s cn)
  131.     (initget 128)
  132.     (princ "\n输入坐标=旋转终点                         输入数值=旋转角度 ")
  133.     (princ "\n输入数值n并以 / 结束=角度内等分n次复制    输入数值n并以 * 结束=按角度复制n次 ")
  134.     (setq cnn (getpoint "\n请按提示输入<退出>:"))
  135.     (if  (= 'LIST (type cnn))
  136.       (setq p3 cnn
  137.       a1 (* 180 (/ (-(angle p1 p3)(angle p1 p2))pi))
  138.       )
  139.       (setq cn cnn)
  140.     )
  141.   )
  142.   (entdel e)
  143.   (command "undo" "e")
  144.   (princ)
  145. )

发表于 2023-9-23 10:10 | 显示全部楼层
使用中发现一个小问题   比如2位数的数字xx,10、11、......17、18、19、10(此处不会进位,9后是0)
 楼主| 发表于 2023-9-23 10:27 | 显示全部楼层
lxl217114 发表于 2023-9-23 10:10
使用中发现一个小问题   比如2位数的数字xx,10、11、......17、18、19、10(此处不会进位,9后是0)

因为程序名字是单字递增啦。只是后来增加了词组匹配
 楼主| 发表于 2023-9-23 10:29 | 显示全部楼层
小毛草 发表于 2023-9-23 09:23
确实已经修复,谢谢!兄弟,能让以下代码支持属性块吗?

你是真不客气啊
发表于 2023-9-23 12:10 | 显示全部楼层

呵呵,这个功能一直改了几版都未解决,呵呵,只能看你老兄有无办法解决
发表于 2023-9-23 12:54 | 显示全部楼层
新版本,鼠标右键直接退出,要修复一下
 楼主| 发表于 2023-9-24 11:17 | 显示全部楼层
bai2000 发表于 2023-9-23 12:54
新版本,鼠标右键直接退出,要修复一下

没听懂。你左右键没点到对象都会退出啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 22:01 , Processed in 0.180402 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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