找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 410|回复: 3

[编程申请]:自定义铁路线形

[复制链接]
发表于 2003-3-7 19:56:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
前一段时间问了些关于如何实现在AUTOCAD2000中铁路的快速绘制,也没有收获到太多的东西,无奈只好求助高手编程了!
    我的问题是想在AUTOCAD2000中自定义一种“铁轨”的线型,想画的时间直接就用了,不需要考虑分岔的问题。只是自定义这种线型就够了,本人是初学者,没有自定义的能耐,还请各位高手帮忙,尽量详细、通俗。不胜感激!!!
    我的信箱:neff@lianluo.com
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-3-7 23:50:37 | 显示全部楼层

Re: [编程申请]:自定义铁路线形

最初由 dashui 发布
[B]前一段时间问了些关于如何实现在AUTOCAD2000中铁路的快速绘制,也没有收获到太多的东西,无奈只好求助高手编程了!
    我的问题是想在AUTOCAD2000中自定义一种“铁轨”的线型,想画的时间直接就用了,不需要考虑分... [/B]

铁路线仅是虚实间隔的线,CAD中定义有hidden线形的,最简单的方法就是将其拷贝重命名,然后调整虚实的比例。
以下内容摘自CAD联机帮助。

  1. AutoCAD 线型由线型定义文件定义。线型定义文件的扩展名为 .lin。AutoCAD 线型由一系列用空格分隔的点和划组成,
  2. 并可包含嵌入的形和文字对象。缺省的线型文件是 acadiso.lin。用户可打印此文件,以便更好地理解如何构造线型。
  3. 仅由点、划和空格组成的线型称为简单线型;不仅包含点、划和空格,还包含嵌入的形和文字对象的线型称为复杂
  4. 线型。尽管 AutoCAD 对这两种线型的处理很相似,但它们的定义有很大区别。

  5. 本节内容包括:

  6.    创建和修改线型定义
  7.    定义线型
  8.    简单线型
  9.    复杂线型

  10. 创建和修改线型定义

  11. 有两种方法可创建和修改线型定义:一种是用文本编辑器或字处理器编辑 LIN 文件,另一种是用 -LINETYPE 命令的
  12. “创建”选项。不能在命令行中创建或修改复杂线型。
  13. 一个线型文件可包含许多线型定义。用户可将自定义线型加入 acad.lin 文件或构造自己的线型库文件。LIN 文件可
  14. 通过分号引入注释,以分号开始的行中的任何文字都将被忽略。


  15.    定义线型

  16. 在 LIN 文件中,每个线型用两行来定义。第一行定义线型的名称并提供可选的说明。

  17. *linetype-name [, description]

  18. 这一行必须以星号开始,其后紧跟线型名称。如果有说明,则必须用逗号将它与名称分开,而且不能超过 47 个字符。
  19. 说明帮助用户了解线型的外观,AutoCAD 并不使用它。
  20. 第二行是描述实际图案的代码。

  21. alignment,patdesc-1,patdesc-2, ...

  22. 这一行以对齐方式代码(当前只允许使用 A)开始,其后是用逗号分隔的图案描述(不允许出现空格)。
  23. 线型不能在创建时自动加载到图形中,而需要用 LINETYPE 命令的“加载”选项来加载。

  24. [color=blue]
  25. 简单线型

  26. 用户也许拥有具有如下重复图案的简单线型 DD1:

  27. 划,0.5 图形单位长度
  28.         空格,0.25 图形单位长度
  29.         点
  30.         空格,0.25 图形单位长度

  31. 该线型定义为

  32. *DD1,____ . ____ . ____ . ____ .

  33. A,.5,?25,0,?25

  34. DD1 是线型的名称,description 字段是 LAYER Ltype ? 命令序列所显示的线型说明。在此例中,说明是点划线图案的简单表示。
  35. 说明是可选的,可以是一系列点、空格和划,也可以是如同“此线型用于隐藏线”的注释。如果要省略说明,则不能在
  36. 线型名称后面加逗号;如果要包括说明,则其长度不能超过 47 个字符。
  37. alignment 字段指定在直线、圆和圆弧末端的图案对齐操作。当前,AutoCAD 只支持一种对齐操作,通过在此字段中输
  38. 入 A 加以指定。使用 LINETYPE 的“创建”选项时,A 是自动输入的;但如果用文本编辑器创建线型定义,则必须
  39. 手动加入 A。AutoCAD 拒绝在 alignment
  40. 字段中接受任何其他字符。

  41. 每个 pat-n 字段指定组成线型的一个线段的长度。长度为正时,画一条实线段;长度为负时,画一条空线段;长度
  42. 为 0 时,画一个点。每个线型至多可以有 12 个线段长度定义,但这些定义必须在一行中,并且总长度不能超
  43. 过 80 个字符。
  44. AutoCAD 通过 A 类对齐保证直线和圆弧的两端都是划。例如,假定创建一种称为 CENTRAL 的线型,显示重复的点
  45. 划序列(通常用作中心线)。AutoCAD 在直线内部调整点划序列,使划和直线的端点一致。图案匹配线条,因此至少
  46. 第一划的一半可以与直线的端点重合。必要时,第一划和最后一划可以被加长。如果直线很短,不能容纳一个点划序
  47. 列,则 AutoCAD 在两个端点之间画一条连续的直线。对于圆弧,图案也会作适当调整,使端点为划。圆没有端点,
  48. 但 AutoCAD 会调整点划序列以提供适当的显示效果。

  49. A 类对齐要求第一划的长度必须不小于 0(点或实线段),第二划的长度应该小于 0(空线段)。这种对齐至少需要两
  50. 个划定义。在第一划和最后一划之间,图案从第二个划定义开始依次显示,并且在必要时用第一个划定义重新开始图案。

  51. [/color]
  52. 复杂线型

  53. 复杂线型说明与简单线型说明一样位于 LIN 文件中。复杂线型指定了用符号点缀的直线,该直线可能是分段的。此线型
  54. 可表示实用工具、边界、轮廓等等。与使用简单线型一样,也可指定复杂线型绘制的端点。直线中嵌入的形和文字对象
  55. 总是完整显示,从来不会被截断。
  56. 复杂线型的语法与简单线型的语法相似,都是用逗号分隔的图案说明单元清单。除简单线型的点划说明单元之外,形和
  57. 文字对象也可作为复杂线型的图案说明单元。
  58. 形和文字对象说明单元的语法如下所示:



  59. [shapename,shxfilename] 或
  60. [shapename,shxfilename,transform]

  61. 文字对象

  62. ["string",stylename] 或
  63. ["string",stylename,transform]

  64. 其中,transform 是可选的,可以是下列等式的任意序列(每个等式前都用逗号分隔):
  65. R=##   相对旋转
  66. A=##   绝对旋转
  67. S=##   比例
  68. X=##   X 偏移
  69. Y=##   Y 偏移
  70. 在此语法中,## 表示带符号的十进制数(1、-17、0.01,等等),旋转单位为度,其他选项的单位都是线型比例的图形
  71. 单位。上述 transform 字母,使用时必须跟上等号和数值。
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-3-8 23:41:07 | 显示全部楼层
   AutoCAD 通过 A 类对齐保证直线和圆弧的两端都是划。例如,假定创建一种称为 CENTRAL 的线型,显示重复的点
划序列(通常用作中心线)。AutoCAD 在直线内部调整点划序列,使划和直线的端点一致。图案匹配线条,因此至少
第一划的一半可以与直线的端点重合。



我对这句话不太理解,能详细解释一下吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-3-10 16:57:14 | 显示全部楼层
老兄,这些早就有了,在论坛找找,不过现在还没有较好的方法,用两根细实线中间夹一根粗虚线就行,用线性的方法是不能较好地解决填充问题的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-27 21:21 , Processed in 0.257348 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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