找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1108|回复: 4

发一个对付PKPM2001年7月份版生成的DWG文件,轴线及一些其它为多义线的帖子.[原创]:

[复制链接]

已领礼包: 444个

财富等级: 日进斗金

发表于 2002-1-22 12:55:49 | 显示全部楼层 |阅读模式

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

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

×

  1. (Defun C:PKPM(/ OSM A N1 I1 N2 I2 SS B NA ED OLD_W1 OLD_W2 OLD_W3 W1 W2 W3
  2.                 C NC IC NCED NCC NCR NCQ NCLAY)

  3.   (SetVar "CMDECHO" 0)
  4.   (SetQ OSM (GetVar "OSMODE"))
  5.   (SetVar "OSMODE" 0)

  6.   (Alert "此程序只适用于2001年7月版PKPM软件生成的DWG文件转换!")
  7.    
  8.   ;将每一条宽度为0.18的多义线(LWPLOYLINE炸为直线LINE
  9.   ;即将新版PKPM软件生成的DWG文件中诸如轴线、尺寸线等等,修改为直。

  10.   ;考虑到PKPM生成DWG文件有许多层都存在此类问题,所以这次没有将层过滤控制加入在选择集过。

  11.   (Vl-Cmdf "UNDO" "BE")
  12.   
  13.   (Setq A (SsGet "X" '((-4 . "<AND")
  14.                              (0 . "LWPOLYLINE")
  15.                              (-4 . "<=") (43 . 0.181)
  16.                              (-4 . ">=") (43 . 0.179)
  17.                         (-4 . "AND>"))
  18.           )
  19.   )
  20.   (If (/= A Nil)
  21.      (Progn
  22.         (Setq N1 (SsLength A)
  23.               I1 0)
  24.   
  25.         (Repeat N1
  26.         (SetQ SS (SsName A I1))
  27.         (Vl-Cmdf "_EXPLODE" SS "")
  28.         (SetQ I1 (1+ I1))
  29.         )
  30.       )
  31.       (Alert "没有找到0.18宽度的多义线!")
  32.   )
  33.    
  34.   ;应CY网友要求将尺寸短线的宽度修改为更宽的一个宽度。
  35.   ;程序内定为0.40,可以将其修改为更宽的宽度。
  36.   
  37.      
  38.   (SetQ B (SsGet "X" '((-4 . "<OR")
  39.                          (-4 . "<AND")
  40.                              (0 . "LWPOLYLINE")
  41.                              (8 . "轴线__尺寸数字")
  42.                              (-4 . "<=") (43 . 0.351)
  43.                              (-4 . ">=") (43 . 0.349)
  44.                          (-4 . "AND>")
  45.                          (-4 . "<AND")
  46.                              (0 . "LWPOLYLINE")
  47.                              (8 . "支座钢筋标注")
  48.                              (-4 . "<=") (43 . 0.351)
  49.                              (-4 . ">=") (43 . 0.349)
  50.                          (-4 . "AND>")
  51.                        (-4 . "OR>"))
  52.           )
  53.   )

  54.   (If (/= B NIl)
  55.     (Progn
  56.        (SetQ N2 (SsLength B))
  57.        (SetQ I2 0)
  58.        (Repeat N2
  59.           (SetQ NA (SsName B I2))
  60.           (SetQ ED (entget NA))
  61.           (SetQ OLD_W  (Assoc 43 ED)
  62.                 OLD_W1 (Assoc 40 ED)
  63.                 OLD_W2 (Assoc 41 ED)
  64.                 W  (Cons 43 0.40);在这可以输入你所要的宽度值。例:(将0.40替换为0.50)
  65.                 W1 (Cons 40 0.40);在这可以输入你所要的宽度值。例:(将0.40替换为0.50)
  66.                 W2 (Cons 41 0.40);在这可以输入你所要的宽度值。例:(将0.40替换为0.50)
  67.                )
  68.          (SetQ ED (Subst W OLD_W ED)
  69.                ED (Subst W1 OLD_W1 ED)
  70.                ED (Subst W2 OLD_W2 ED)
  71.               )
  72.          (EntMod ED)
  73.          (SetQ I2 (1+ I2))
  74.        )         
  75.     )
  76.    (Alert "没有找到0.35宽度的多义线!")
  77.   )

  78.   ;应网友的要求将炸开多义线弧改为圆.
  79.   ;在这里假定生成的图形都在"轴线__点划线"与"板底钢筋标注"与"支座钢筋标注"这三个层上.
  80.   ;且ARC的半径都为4(轴线_点划线层上)或2(其它层上).
  81.   (SetQ Cl (GetVar "CLAYER"))
  82.   (SetQ C (SsGet "X" '((-4 . "<OR")
  83.                          (-4 . "<AND")
  84.                              (0 . "ARC")
  85.                              (8 . "轴线__点划线")
  86.                              (-4 . "<") (40 . 4.01)
  87.                              (-4 . ">") (40 . 3.99)
  88.                          (-4 . "AND>")
  89.                          (-4 . "<AND")
  90.                              (0 . "ARC")
  91.                              (8 . "板底钢筋标注")
  92.                              (40 . 2.0)
  93.                          (-4 . "AND>")
  94.                                     (-4 . "<AND")
  95.                              (0 . "ARC")
  96.                              (8 . "支座钢筋标注")
  97.                              (40 . 2.0)
  98.                          (-4 . "AND>")
  99.                        (-4 . "OR>"))
  100.           )
  101.   )
  102.   (If (/= C Nil)
  103.      (Progn
  104.         (SetQ NC (SsLength C)
  105.               IC 0)
  106.         (Repeat NC
  107.            (SetQ NCED (EntGet (SsName C IC))
  108.                  NCC (Cdr (Assoc 10 NCED))
  109.                  NCR (Cdr (Assoc 40 NCED))
  110.                  NCQ (Cdr (Assoc 50 NCED))
  111.                  NCLAY (Cdr (Assoc 8 NCED))
  112.            )
  113.            (If (= NCQ 0.0)
  114.               (SetVar "CLAYER" NCLAY)
  115.               (Command "._Circle" NCC NCR)
  116.            )
  117.            (SetQ IC (1+ IC))
  118.         )
  119.       )
  120.   )  
  121.   (Command "._Erase" C "")
  122.   (SetVar "CLAYER" Cl)
  123.   (Vl-Cmdf "UNDO" "E")
  124.   (SetVar "OSMODE" OSM)
  125.   (Prompt "\n提示:如果你请执行错误后请立即用恢复命令!")
  126.   (Prin1)
  127. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2002-1-28 08:26:27 | 显示全部楼层
其实用以下文件替换PKPM中CFG下的同名文件就OK了,是从PKPM网站上拉来的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 444个

财富等级: 日进斗金

 楼主| 发表于 2002-1-28 11:23:30 | 显示全部楼层
用以下这个文件在哪里。转贴出来吧。好吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 444个

财富等级: 日进斗金

 楼主| 发表于 2002-2-14 10:51:57 | 显示全部楼层
PKPM最新版2002.01.22版解决了这个问题。看来不用编程了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-3-13 13:21:17 | 显示全部楼层
有时候尽管我们没有加密锁,但我们的CFG应该经常更新,因为现在的MODIFYW的确变化很大,
2002年1月的新增加了“标注”——“钢结构”模块
总是看着它在一点点进步。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-6 14:09 , Processed in 0.183996 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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