明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3287|回复: 10

[提问] 如何利用LISP批量修改多个标注样式的变量值

[复制链接]
发表于 2015-5-19 23:09:08 | 显示全部楼层 |阅读模式
本帖最后由 阡陌客 于 2015-5-19 23:12 编辑

请教,如何利用LISP批量修改多个标注样式的DIMEXE、DIMTAD、DIMATFIT等系统变量值


因为绘图习惯,我一般是在solidworks里面三维建模,然后转换工程图,再另存为dwg格式再AutoCAD里修改编辑二维图,另存dwg到CAD打开后 会遇到一些标注尺寸字符错位堆叠


修改标注文字后,文字错乱现象可以解决,但是尺寸界线超出量、文字位置等又不合常规出图习惯
需要调整标注样式的几个变量达到通常习惯的效果。

具体我做了几个截图,如下:




在转存dwg时,SW自动生成了一系列SLDDIMSTYLE0,SLDDIMSTYLE1,……,SLDDIMSTYLE9, 这样的标注样式。(图纸越复杂,标注的尺寸越多,转存后,这里的样式就越多




如果多张图纸的每个样式都手动修改也是个比较无聊的重复点击,试图写一个LISP程序直接命令实现。
但是我水平有限,编不出能批量改动标注样式变量的lisp。请高手们指点一下,谢谢!




本帖子中包含更多资源

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

x
 楼主| 发表于 2015-5-20 19:30:37 | 显示全部楼层
请教,如何利用LISP批量修改多个标注样式的DIMEXE、DIMTAD、DIMATFIT等系统变量值
 楼主| 发表于 2015-5-22 23:02:18 | 显示全部楼层
有没有高手指点一下啊,谢谢!
 楼主| 发表于 2015-5-28 20:11:39 | 显示全部楼层
求助
发表于 2015-5-28 23:17:23 来自手机 | 显示全部楼层
传图,作一个原始和结果对照,这样大家才理解
发表于 2015-7-10 14:16:15 | 显示全部楼层
顶一下,同求,标注样式和文字样式很让人头疼,我是UG出图的
发表于 2015-7-13 10:52:55 | 显示全部楼层
http://bbs.mjtd.com/thread-113895-1-1.html

用论坛里的搜索,也可以用 setvar
发表于 2015-7-13 14:58:09 | 显示全部楼层
N=1
strcar SLDDIMSTYLE (itoa n)
while    tblsearch  样式
setvar  DIMEXE、DIMTAD、DIMATFIT
更新样式
N+1

我也只会皮毛,楼主可试试。
发表于 2015-7-14 08:19:07 | 显示全部楼层
阡陌客 发表于 2015-5-20 19:30
请教,如何利用LISP批量修改多个标注样式的DIMEXE、DIMTAD、DIMATFIT等系统变量值

先用setvar改变标注样式,再用命令dimstyle新设或重置样式(要先判断样式是否存在)。
发表于 2015-7-14 09:21:47 | 显示全部楼层
(vl-load-com)
(setq odoc (vla-get-ActiveDocument (VLAX-GET-ACAD-OBJECT)))
(setq dimstyls (vla-get-DimStyles odoc))
(mapcar 'setvar '("DIMEXE" "DIMTAD" "DIMATFIT") '(2 2 1))
(vlax-for item dimstyls
  (vla-copyfrom item odoc)
  )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 21:16 , Processed in 0.236831 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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