明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: yangyangyixia

[提问] 【求助】求大佬给完善代码

[复制链接]
发表于 2024-12-30 13:44:04 | 显示全部楼层
本帖最后由 lee50310 于 2024-12-30 13:54 编辑
edrise 发表于 2024-12-30 12:04
原来如此,确实没想过这个,也暂时不会,如果是这样,把线型组码删了能将就用用
不用删线型组码
建议在程式开头可加入此函数 (Load_LinType)
另外 我的CAD2018繁体版 没有 DASH线型 有DASHED及DASHED2
但载入后 虚线间隔还是太宽最后找到 JIS_02_1.2  线型可取代
若使用  JIS_02_1.2
必须将程式中所有  '(6 . "DASH")  ; 改为  '(6 . "JIS_02_1.2")

  1. ;;------------------------------------------------------------------
  2. ;;https://www.theswamp.org/index.php?topic=54136.0
  3. ;;;;线型加载及重载
  4. (defun Load_LinType()
  5.   (foreach lt '("JIS_02_1.2" "DASH" "DASHED2" "Hidden" "Hidden2" );要载入的线型名称
  6.     (if(not(tblsearch "ltype" lt))
  7.       (command "_.-linetype" "_l" lt "acadiso.lin" "")
  8.       ); end if
  9.     ); end foreach
  10.   (princ)
  11.   ); end of Load_LinType  
  12. ;;------------------------------------------------------------------

回复

使用道具 举报

发表于 2024-12-30 14:20:52 | 显示全部楼层
lee50310 发表于 2024-12-30 13:44
不用删线型组码
建议在程式开头可加入此函数 (Load_LinType)
另外 我的CAD2018繁体版 没有 DASH线型 有DA ...

感谢大佬完善,学习了
回复

使用道具 举报

发表于 2024-12-30 15:15:15 | 显示全部楼层
edrise 发表于 2024-12-30 12:58
大佬,你的插件加载报错是咋回事呢,CAD2021

cad插件常见问题 2021后会这样  将LISPSYS变量改为0   然后重启cad再加载就可以了
回复

使用道具 举报

发表于 2024-12-30 17:59:15 | 显示全部楼层
xj6019 发表于 2024-12-30 15:15
cad插件常见问题 2021后会这样  将LISPSYS变量改为0   然后重启cad再加载就可以了

好的,不过LISPSYS置0以后,vlide就变回CAD自带的了,我现在用的是vscode,需要置1。求较下大佬知不知道什么情况下置1会加载报错呢?写代码的时候好想办法避免。
回复

使用道具 举报

发表于 2024-12-30 18:06:55 | 显示全部楼层
lee50310 发表于 2024-12-30 13:44
不用删线型组码
建议在程式开头可加入此函数 (Load_LinType)
另外 我的CAD2018繁体版 没有 DASH线型 有DA ...

我是这么干的,我把后边需要用到的线型DXF数据搞出来,然后

  1. (vl-every'(lambda(x / e)(setq e(tblobjname"ltype"(car x)))
  2.       (if e(entmod(cons(cons -1 e)(cdr x)))(entmakex(cdr x))))
  3.          '(("X5"(0 . "LTYPE")(100 . "AcDbSymbolTableRecord")(100 . "AcDbLinetypeTableRecord")(2 . "X5")(70 . 0)(3 . "")(72 . 65)(73 . 2)(40 . 3.0)(49 . 2.0)(74 . 0)(49 . -1.0)(74 . 0))
  4.      ("X32"(0 . "LTYPE")(100 . "AcDbSymbolTableRecord")(100 . "AcDbLinetypeTableRecord")(2 . "X32")(70 . 0)(3 . "")(72 . 65)(73 . 2)(40 . 1.5)(49 . 1.0)(74 . 0)(49 . -0.5)(74 . 0))))


评分

参与人数 1明经币 +1 收起 理由
lee50310 + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2025-1-1 13:14:15 | 显示全部楼层
edrise 发表于 2024-12-29 18:16
看你这个比较简单,练手顺手写了个糙的,可以实现你需要的功能,有币的话就给我吧,缺币中...

坐标标注可能不对,没按间距变化
回复

使用道具 举报

发表于 2025-1-1 13:48:01 | 显示全部楼层
bai2000 发表于 2025-1-1 13:14
坐标标注可能不对,没按间距变化

因为贴主没有坐标与真实距离的关系,截图中每一个代表5,但真实格长度不详,只能揣测不管间距是多大,每一格都代表5。如果按真实距离写数值变化函数,网格就要做得很小,与真实需求可能就差距比较大了。如果要调改数值随网格间距变化,需要把代码中变量d相关的公式都根据自己需求调整一下,比如按比例计算之类的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-22 19:00 , Processed in 0.247055 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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