明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1480|回复: 7

如何重新定义块中的线型??

[复制链接]
发表于 2011-2-17 16:46:35 | 显示全部楼层 |阅读模式
为了方便插入一些常用的层和线型,我的习惯是做一个带各种常用层和线型的,但内容为空的a.dwg,然后在做每一幅图纸时用一条命令来插入a.dwg:
(command "insert" "A.dwg" "0,0" "1" "1" "0"  )
这样这幅图纸里就带有各种线型,方便编辑。

但如果这个dwg以前曾经插入过一个叫A.dwg的文件,上边这条命令就无效了,需要用下面这个命令来重新定义a.dwg:
(command "insert" "A=A.dwg" "0,0" "1" "1" "0" )

现在我更新了一下a.dwg,改动了一个线型“931”。这时再用上面的命令重新插入a.dwg,931线型还是老样子不变。

怎么办呢?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2011-2-17 18:25:37 | 显示全部楼层
重新加载931线型,不关图块的事!
 楼主| 发表于 2011-2-17 21:45:14 | 显示全部楼层
回复 Gu_xl 的帖子

这个我知道,但是能否在插入图块的时候就重新定义一个同名的线型呢?

评分

参与人数 1金钱 +20 收起 理由
jackynine + 20

查看全部评分

 楼主| 发表于 2011-2-18 19:04:57 | 显示全部楼层
本帖最后由 mandala 于 2011-2-18 19:05 编辑

哪位好心的前辈给点提示吧??怎么在插图块的时候就重新定义一个同名的线型呢?

我现在只好在每个要用到这个线型的lsp里加上一句
(COMMAND "LINETYPE" "L" "931" "DJ96.LIN" "Y" "")

但是这样感觉挺傻的。

评分

参与人数 1金钱 +20 收起 理由
jackynine + 20

查看全部评分

发表于 2011-2-18 19:57:14 | 显示全部楼层
回复 mandala 的帖子

用下列代码
(setq ltypedata (entget (tblobjename "ltype" "931")))
得到线型的组码数据,然后根据如下组码描述修改ltypedata值,最后(entmod ltypedata)!
DXF 参考 LTYPE


以下组码适用于 LTYPE 符号表条目。除此处所述的组码以外,另请参见符号表条目的常用组码。关于此表中使用的缩写和格式方面的信息,请参见本参考的格式惯例。

LTYPE 组码

组码
说明

100
子类标记 (AcDbLinetypeTableRecord)

2
线型名

70
标准标记值(按位编码值):

16 = 如果设置了此位,则表条目外部依赖于外部参照

32 = 如果同时设置了此位和位 16,则表明已成功融入了外部依赖的外部参照

64 = 如果设置了此位,则表明在上次编辑图形时,图形中至少有一个图元参照了表条目。(此标志对 AutoCAD 命令很有用。大多数读取 DXF 文件的程序都可以忽略它,并且无需由写入 DXF 文件的程序对其进行设置)

3
线型的说明文字

72
对齐代码;值通常为 65,A 的 ASCII 代码

73
线型元素的数目

40
图案总长度

49
虚线、点或空间长度(每个元素一个条目)

74
复杂线型元素类型(每个元素一种类型)。默认值为 0(没有嵌入的形/文字)

以下代码是位值:

1 = 如果设置此位,则代码 50 指定一个绝对位置;如果没有设置此位,则代码 50 指定一个相对位置

2 = 嵌入的元素是文字字符串

4 = 嵌入的元素是形

75
如果代码 74 指定嵌入的形,则表示形编号(每个元素一个编号)

如果代码 74 指定嵌入的字符串,此值将设置为 0

如果代码 74 设置为 0,则省略代码 75

340
指向 STYLE 对象的指针(如果代码 74 > 0,则每个元素一个指针)

46
S = 比例值(可选);可存在多个条目

50
R = 嵌入的形或文字的相对旋转值(以弧度为单位),A = 嵌入的形或文字的绝对旋转值(以弧度为单位);如果代码 74 指定了嵌入的形或字符串,则每个元素一个

44
X = X 偏移值(可选);可存在多个条目

45
Y = Y 偏移值(可选);可存在多个条目

9
字符串(如果代码 74 = 2,则每个元素一个字符串)


tblsearch 或 tblnext 函数不返回组码 74、75、340、46、50、44、45 和 9。在应用程序中,必须使用 tblobjname 检索这些值。
 楼主| 发表于 2011-2-18 21:42:50 | 显示全部楼层
本帖最后由 mandala 于 2011-2-18 21:48 编辑

首先谢谢版主!

我是不是可以这样理解:

比如我昨天做了一副图纸,用插入a.dwg的方式来给这副图纸增加了一些常用线型以便编辑。今天我修改了一下a.dwg中的某个线型,并重新插入修改过的a.dwg。

你的意思是不是说,用你上述这种方式来修改原先的a.dwg中的线型,然后再次插入a.dwg,图纸中的相应线型就会改变了,是吗?
发表于 2011-2-18 22:01:05 | 显示全部楼层
回复 mandala 的帖子

非也!你可从修改后的a.dwg直接用tblobjname来获取修改后的线型数据表,然后再到要插入的图里修改线型!
 楼主| 发表于 2011-2-19 13:16:55 | 显示全部楼层
Gu_xl 发表于 2011-2-18 22:01
回复 mandala 的帖子

非也!你可从修改后的a.dwg直接用tblobjname来获取修改后的线型数据表,然后再到要插 ...

哦,明白了,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-12 11:23 , Processed in 0.182602 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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