明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1632|回复: 20

[提问] 有办法直接展示线型加载界面并返回选择吗

[复制链接]
发表于 2025-9-23 20:09:36 | 显示全部楼层 |阅读模式
执行linetype命令并点取加载按钮后,会出现加载线型的界面,有没有办法不启动linetype命令直接调用展示这个加载线型的界面,用于从lin文件中选择线型?返回值最好是同时包含lin文件名和线型名

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
回复

使用道具 举报

发表于 2025-9-24 02:47:33 | 显示全部楼层
可以不用打开任何窗口,设置指定线型的呀。比如要设置"ACAD_ISO03W100"线型
(vla-load (vla-get-linetypes (vla-get-activedocument (vlax-get-acad-object))) "ACAD_ISO03W100" "acadiso.lin")
(vla-put-linetype (vlax-ename->vla-object (car (entsel))) "ACAD_ISO03W100")
回复 支持 0 反对 1

使用道具 举报

发表于 2025-9-24 07:22:42 | 显示全部楼层
本帖最后由 crtrccrt 于 2025-9-24 07:32 编辑

根据LIN定义,直接ENTMAKEX即快又方便,
以CENTER和HIDDEN为例,没有判断是否已加载该线型,

不喜勿喷。
也不会回复任何疑问。



本帖子中包含更多资源

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

x
回复 支持 0 反对 1

使用道具 举报

发表于 2025-10-25 04:37:01 | 显示全部楼层
本帖最后由 22693766 于 2025-10-25 04:47 编辑


我是不是没理解对, 上面还有个回复c#自绘??? 这有啥必要关联吗?

获取到这个路径
C:\Users\admin\AppData\Roaming\Autodesk\AutoCAD 2025\R25.0\chs\Support
再搜索.lin后缀, 比如: acad.lin

解析一下文件内容不就好了?  不难啊
然后自己再弄个界面, 你爱咋展示就咋展示

线型的展示, 就是个文本啊

-----------------------------------
*ACAD_ISO02W100,ISO dash __ __ __ __ __ __ __ __ __ __ __ __ __
A,12,-3
*ACAD_ISO03W100,ISO dash space __    __    __    __    __    __
A,12,-18
*ACAD_ISO04W100,ISO long-dash dot ____ . ____ . ____ . ____ . _
A,24,-3,0,-3
*ACAD_ISO05W100,ISO long-dash double-dot ____ .. ____ .. ____ .
A,24,-3,0,-3,0,-3
*ACAD_ISO06W100,ISO long-dash triple-dot ____ ... ____ ... ____
A,24,-3,0,-3,0,-3,0,-3
*ACAD_ISO07W100,ISO dot . . . . . . . . . . . . . . . . . . . .
A,0,-3
*ACAD_ISO08W100,ISO long-dash short-dash ____ __ ____ __ ____ _
A,24,-3,6,-3
*ACAD_ISO09W100,ISO long-dash double-short-dash ____ __ __ ____
A,24,-3,6,-3,6,-3
*ACAD_ISO10W100,ISO dash dot __ . __ . __ . __ . __ . __ . __ .
A,12,-3,0,-3
*ACAD_ISO11W100,ISO double-dash dot __ __ . __ __ . __ __ . __ _
A,12,-3,12,-3,0,-3
*ACAD_ISO12W100,ISO dash double-dot __ . . __ . . __ . . __ . .
A,12,-3,0,-3,0,-3
*ACAD_ISO13W100,ISO double-dash double-dot __ __ . . __ __ . . _
A,12,-3,12,-3,0,-3,0,-3
*ACAD_ISO14W100,ISO dash triple-dot __ . . . __ . . . __ . . . _
A,12,-3,0,-3,0,-3,0,-3
*ACAD_ISO15W100,ISO double-dash triple-dot __ __ . . . __ __ . .
A,12,-3,12,-3,0,-3,0,-3,0,-3





回复 支持 反对

使用道具 举报

发表于 2025-9-23 20:53:57 | 显示全部楼层
这个问题好  我也好奇了好久网上找了很久 没找到解决的办法   坐等大佬
回复 支持 反对

使用道具 举报

发表于 2025-9-23 21:57:23 | 显示全部楼层
应该可以用c#写一个lisp函数扩展调用。
回复 支持 反对

使用道具 举报

发表于 2025-9-23 22:12:27 | 显示全部楼层
好像没有直接的接口,只有acedLinetypeDialog,选择选择线型对话框,加载还是要再点击加载。
回复 支持 反对

使用道具 举报

发表于 2025-9-24 09:13:31 | 显示全部楼层
qazxswk 发表于 2025-9-24 02:47
可以不用打开任何窗口,设置指定线型的呀。比如要设置"ACAD_ISO03W100"线型
(vla-load (vla-get-linetypes ...

人家的目的就是让用户可以选,结果你来了个不用选
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-9-24 10:33:29 | 显示全部楼层
edata 发表于 2025-9-23 22:12
好像没有直接的接口,只有acedLinetypeDialog,选择选择线型对话框,加载还是要再点击加载。

不需要加载,只需要展示可用线型和选择并有返回值
回复 支持 反对

使用道具 举报

发表于 2025-9-24 11:32:05 | 显示全部楼层
如果没有提供接口,估计只能自己按原样写一个对话框并返回值。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-12 06:58 , Processed in 0.156288 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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