明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: xyp1964

[讨论] 【e派】工具箱函数再揭秘及应用实例

    [复制链接]
发表于 2024-4-29 23:58:56 | 显示全部楼层

发表于 2012-7-21 02:44,每个大咖的成功都是努力得来,我之前努力学习也是琢磨到半夜……
发表于 2024-4-30 00:01:05 | 显示全部楼层
;ZZ77批量改变图元文字样式名称
(DEFUN C:ZZ77()(ZZ77202404)(princ))
(defun ZZ77202404 ()
        (SETQ  wenziName2024 (cdr (assoc 7 (entget (car (entsel)))))) ;获取所选图元的文字样式名
        (setq NewwenziName2024(getstring (strcat "\n请输入ZZ77新文字样式名或者修改参照图元文字样式名:<" wenziName2024 ">")))
  (princ "\n请选择要改变的图元文字样式名2024年04月29日22时07分10秒")
  ;(setq ss (ssget "*text"))
        (if (setq ss (ssget '((0 . "*text"))))
                (xyp-SubUpd ss 7 NewwenziName2024);院长在明经http://bbs.mjtd.com/thread-95673-1-1.html公开的自定义函数
                ;xyp1964发表于 2012-7-21 01:18 xyp-SubUpd 更改图元DXF组码以修改实体属性 (xyp-SubUpd ename code newvalue)
        )
  (princ)
)
拿来主义的模仿
 楼主| 发表于 2024-4-30 07:46:15 | 显示全部楼层
本帖最后由 xyp1964 于 2024-5-1 16:39 编辑
寒潮大冬瓜 发表于 2024-4-30 00:01
;ZZ77批量改变图元文字样式名称
(DEFUN C:ZZ77()(ZZ77202404)(princ))
(defun ZZ77202404 ()

  1. ;; ZZ77批量改变图元文字样式名称
  2. (defun c:ZZ77 () (abc (setq s1(car(entsel"\n选择参照文本: ")))) (princ))
  3. (defun abc (e / st ss)
  4.   (setq st (xyp-DXF 7 e)
  5.         st (Ustr 1 "新文字样式名" st nil)
  6.   )
  7.   (if (setq ss (ssget '((0 . "*text")))) (xyp-SubUpd ss 7 st))
  8.   (princ)
  9. )
发表于 2024-4-30 22:01:17 | 显示全部楼层

感谢院长优化指导!
发表于 2024-5-21 00:56:38 | 显示全部楼层
辛苦院长指导
(defun C:SDDF(/ e i p s ss)
        (princ "SDDX块坐标xyz转换为xzy格式(右视图)")
        (setvar "CMDECHO" 0)
        (if (and (setq s (ssget '((0 . "INSERT"))));兼容POINT点、圆circle、块INSERT等可根据需要调整
                                (< 1 (sslength s))
                          (setq i -1)
                        )
                (progn
                        (while (setq e (ssname s (setq i (1+ i))))
                                (setq laynamA10 (cdr (assoc 10 (entget e))));准备获取所选图元A的端点10坐标xyz
                                (SETQ STRXA10 (rtos (car laynamA10) 2 16)) ;_内容X
                                (SETQ STRYA10 (rtos (cadr laynamA10) 2 16)) ;_内容Y
                                (SETQ STRzA10 (rtos (caddr laynamA10) 2 16)) ;_内容z
                                (SETQ xzy202405202257 (strcat STRxA10 "," STRZA10"," STRyA10));把图元坐标重组为xzy类似左右视图的显示需要
                                (princ xzy202405202257)
                                (terpri);回行显示下一项屏显       
                                (SETQ E202405210041 (car(entget E)))       
                                (princ E202405210041)
                                (terpri);回行显示下一项屏显
                                ;(xyp-SubUpd2012-7-210118 E202405210041 10 '(STRXA10 STRzA10 STRyA10))
                                (xyp-SubUpd2012-7-210118 E202405210041 10 'xzy202405202257)       
                        )
                )               
        )
        (setvar "CMDECHO" 1)
        (princ)
)
;(xyp-SubUpd2012-7-210118 (car(entsel"\n选择图块: ")) 10 '(0 0 0))
;(car(entsel"\n选择图块: "))
;                                (SETQ xzy202405202257 (strcat STRxA10 "," STRZA10"," STRyA10));把图元坐标重组为xzy类似左右视图的显示需要
;                                (princ xzy202405202257)
;                                (terpri);回行显示下一项屏显
发表于 2024-6-18 00:22:59 | 显示全部楼层

院长好!这行代码“ (setq ss (ssadd s1 ss))”显示“参数个数不正确”,在自定义函数里面用该自定义函数……用VBA的思路有点不明白
发表于 2024-6-18 08:10:22 | 显示全部楼层
寒潮大冬瓜 发表于 2024-6-18 00:22
院长好!这行代码“ (setq ss (ssadd s1 ss))”显示“参数个数不正确”,在自定义函数里面用该自定义函数 ...

s1也是选择集吗?那用ssadd不对的,要做并集。
 楼主| 发表于 2024-6-18 13:38:06 | 显示全部楼层
寒潮大冬瓜 发表于 2024-6-18 00:22
院长好!这行代码“ (setq ss (ssadd s1 ss))”显示“参数个数不正确”,在自定义函数里面用该自定义函数 ...

  1. (defun C:tt ()
  2.   "块坐标xyz转换为xzy格式"
  3.   (setq i -1)
  4.   (if (setq ss (ssget '((0 . "INSERT")))) ;兼容POINT点、圆circle、块INSERT等可根据需要调整
  5.     (while (setq s1 (ssname ss (setq i (1+ i))))
  6.       (setq pt (xyp-DXF 10 s1)
  7.             pt (list (car pt) (caddr pt) (cadr pt))
  8.       )
  9.       (xyp-SubUpd s1 10 pt)
  10.     )
  11.   )
  12.   (princ)
  13. )
发表于 2024-6-18 19:04:50 | 显示全部楼层

感谢院长指导!
发表于 2024-6-19 19:42:11 | 显示全部楼层
本帖最后由 寒潮大冬瓜 于 2024-6-19 19:44 编辑

请教院长,用代码生成的cass属性高程点,是个大圆点,大圆点会遮盖多数时候的线线交点,作图容易获取点不准确,期待生成等边三角形的cass属性高程点!辛苦院长指导指导……
;;;Gu_xl201209271019创建Cass高程点(Gu_xl201209271019插入点高程图块比例小数位数)
;(setq inspt (getpoint)) (setq scale 0.5) (setq height "AAAA")
(defun Gu_xl201209271019 (inspt height scale xsws / pt blkdef obj)
  (command "layer" "m" "GCD" "c" "1" "" "L" "CONTINUOUS" ""  "")
  (if height
    (setq height (rtos height 2 xsws))
    (setq height "")

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 08:49 , Processed in 0.168363 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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