找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 8043|回复: 52

[原创] 点取对象,根据颜色加粗所有对象------终于完成

[复制链接]

已领礼包: 604个

财富等级: 财运亨通

发表于 2013-7-24 15:09:36 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 /db_自贡黄明儒_ 于 2013-7-30 08:17 编辑

按理说,绘图我们不需要指定对象宽度,CAD打印时有一个简单的办法,指定颜色的宽度来指印。
我看见设计院的图,估计是他们偷懒,只画主要轮廓线,而且画得很粗,看起来也象模象样的。
  1. ;;*****************根据颜色,来加宽线   自贡黄明儒 2013年7月24日
  2. ;;特此鸣谢mccad wowan1314 ll_j
  3. (defun C:HHBC (/ COLOR EN FIL LAYLIS LEN PEDITVAR SS0 SSCIR SSLIN)
  4.   ;;(setvar "CLAYER" "0")
  5.   ;;1 Public1 分离选择集
  6.   ;;SSCIR SSLIN
  7.   (defun getMyss (ss0)
  8.     (command "_.select" ss0 "")
  9.     (setq ssCIR (ssget "_p" (list (cons 0 "CIRCLE"))))
  10.     (command "_.select" ss0 "")
  11.     (setq ssLIN (ssget "_p"
  12.          (list (cons 0 "ARC,LINE,LWPOLYLINE"))
  13.   )
  14.     )
  15.   )
  16.   ;;2 Public2 处理圆选择集
  17.   (defun cirSS (ssCIR LEN color / CENTER EN ENTLIST N R)
  18.     (if ssCIR
  19.       (repeat (setq n (sslength ssCIR))
  20. (setq en (ssname ssCIR (setq n (1- n))))
  21. (setq entlist (entget en))
  22. (setq r (* (cdr (assoc 40 entlist)) 2))
  23. (setq center (cdr (assoc 10 entlist)))
  24. (command "_.donut" (- r len) (+ r len) center "")
  25. (vlax-put (vlax-ename->vla-object (entlast)) 'color color)
  26. (command "_.erase" en "")
  27.       )
  28.     )
  29.   )
  30.   ;;3 Public3 处理线选择集
  31.   (defun LineSS (SSLIN len)
  32.     (SETQ PEDITVAR (GETVAR "PEDITACCEPT"))
  33.     (setvar "PEDITACCEPT" 1)
  34.     (if SSLIN
  35.       (command "_.pedit" "_M" ssLIN "" "_j" "" "w" len "")
  36.     )
  37.     (setvar "PEDITACCEPT" PEDITVAR)
  38.   )
  39.   ;;4 获取颜色
  40.   ;;color EN
  41.   (defun getcolor (/ ENTLIST LAYER)
  42.     (while (not en) (setq en (car (entsel "\n 点取颜色"))))
  43.     (setq entlist (entget en))
  44.     (if (setq color (cdr (assoc 62 entlist)))
  45.       nil
  46.       (progn
  47. (setq layer (cdr (assoc 8 entlist)))
  48. (setq color (cdr (assoc 62 (tblsearch "layer" layer))))
  49.       )
  50.     )
  51.   )
  52.   ;;5 预设线宽  
  53.   (defun PreWidth (en / CENTER ENLAST ENTLIST LEN LEN1 LI R)
  54.     (setq entlist (entget en))
  55.     (if (member (setq li (cdr (assoc 0 entlist)))
  56.   (list "ARC" "LINE" "CIRCLE" "LWPOLYLINE")
  57. )
  58.       (progn
  59. (setq len (vlax-curve-getDistAtParam en (vlax-curve-getEndParam en)))
  60. (setq len (/ len 100))
  61. (cond ((= li "CIRCLE")
  62.         (setq r (* (cdr (assoc 40 entlist)) 2))
  63.         (setq center (cdr (assoc 10 entlist)))
  64.         (command "donut" (- r len) (+ r len) center "")
  65.         (setq enlast (entlast))
  66.        )
  67.        ((= li "LWPOLYLINE") (command "_.PEDIT" en "W" len ""))
  68.        (T
  69.         (if (= (atof (getvar "acadver")) 16.1)
  70.    (command "_.PEDIT" en "Y" "W" len "")
  71.         ;昨天测试不加Y,今天测还是要加Y(7月25日)
  72.    (command "_.PEDIT" en "Y" "W" len "")
  73.         )
  74.        )
  75. )
  76. (princ "\n 当前线宽是 ")
  77. (princ len)
  78. (initget (+ 2 4))
  79. (setq len1 (getreal (strcat "\n 输入线宽<" (rtos len 2 3) ">")))
  80. (if len1
  81.    (progn (setq len len1)
  82.    (if enlast
  83.      (command "_.erase" enlast "")
  84.    )
  85.    )
  86. )
  87.       )
  88.       (progn (princ "\n 默认线宽") (princ (setq len 2.0)))
  89.     )
  90.     len
  91.   )
  92.   ;;6 处理颜色为指定颜色的对象
  93.   ;; LAYLIS
  94.   (defun Pro:color (color / D LAYER)
  95.     ;;指定颜色的随层随块层名
  96.     (while (setq d (tblnext "LAYER" (null d)))
  97.       (setq layer (cdr (assoc 2 d)))
  98.       (if (equal (cdr (assoc 62 d)) color)
  99. (setq layLis (if layLis
  100.          (strcat layLis "," layer)
  101.          layer
  102.        )
  103. )
  104.       )
  105.     )
  106.   )

游客,如果您要查看本帖隐藏内容请回复
1.gif

同色线宽显示HHBC.rar

2.34 KB, 下载次数: 46, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2013-7-24 15:14:48 | 显示全部楼层
顶,看下到底怎样的用处
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 918个

财富等级: 财运亨通

发表于 2013-7-24 15:20:54 | 显示全部楼层
一般都是按颜色打印吧,都变成粗线,对看图不利,很慢

点评

不同专业要求的不一样吧,我们就都直接把粗线画出来,都细线反而不利于看清图纸。  详情 回复 发表于 2013-7-24 15:44
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-24 15:29:21 | 显示全部楼层
一直按线宽打印的飘过。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-24 15:31:56 | 显示全部楼层
偶滴神啊。 你的第八条是给我拉仇恨呢吧?! :o

点评

拉拉更健康  详情 回复 发表于 2013-7-24 17:09
:D  发表于 2013-7-24 15:39
-^-  发表于 2013-7-24 15:38
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-24 15:38:31 | 显示全部楼层
图层样式打印
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2013-7-24 15:44:11 | 显示全部楼层
NET-JOB 发表于 2013-7-24 15:20
一般都是按颜色打印吧,都变成粗线,对看图不利,很慢

不同专业要求的不一样吧,我们就都直接把粗线画出来,都细线反而不利于看清图纸。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 918个

财富等级: 财运亨通

发表于 2013-7-24 17:09:19 | 显示全部楼层
wowan1314 发表于 2013-7-24 15:31
偶滴神啊。 你的第八条是给我拉仇恨呢吧?!

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

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2013-7-24 18:01:20 | 显示全部楼层
关注一下!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2013-7-24 18:02:13 来自手机 | 显示全部楼层
用ellipse spline这样处理就不好玩了来自: Android客户端

点评

椭圆和SPLINE怎么处理好玩?  详情 回复 发表于 2013-7-24 18:04
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2013-7-24 18:04:00 | 显示全部楼层
Free-Lancer 发表于 2013-7-24 18:02
用ellipse spline这样处理就不好玩了

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

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2013-7-24 18:04:47 | 显示全部楼层
感觉只能出图前用,画图还是细线看着舒服!

点评

专业不同要求不同了,你要是画建筑施工图,都细线看着就不舒服了。  详情 回复 发表于 2013-7-24 18:32
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-7-24 18:32:46 | 显示全部楼层
q3_2006 发表于 2013-7-24 18:04
感觉只能出图前用,画图还是细线看着舒服!

专业不同要求不同了,你要是画建筑施工图,都细线看着就不舒服了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 343个

财富等级: 日进斗金

发表于 2013-7-24 22:10:03 | 显示全部楼层
:o:o:o:o:o:o
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 5601个

财富等级: 富甲天下

发表于 2013-7-25 08:05:56 | 显示全部楼层
支持黄大侠,黄大侠每每都会带给我们小惊喜!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 01:53 , Processed in 0.294164 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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