明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3869|回复: 13

[已解答] 求改变线型的小程序!

[复制链接]
发表于 2013-7-15 13:57 | 显示全部楼层 |阅读模式
各位,
      大家好!我在画图时,经常需要画一些虚线,所我希望能在不改变我已画线所在的图层,而只是改变该线条的线型。故,现请各位帮忙编写这样的一条LISP程序!(如:我画好的一条直线,它的1号图层的-实线,然后选择该线条输入xx,则该线条变为虚线,但该线条仍然属于1号图层,只是线型变为虚线,其它的属性都不变。)
希望大家不怜指教!
谢谢!

发表于 2013-7-15 19:51 | 显示全部楼层
;;;加载虚线和点划线
  1. (defun g/getAllLineTypes (/ g/1/LVar0 g/1/LVar1 g/1/LVar2 g/1/LVar3 g/1/LVar4)
  2.   (setq        g/1/LVar0 (vla-get-LineTypes cDocum) ; 获取线形集合
  3.         g/1/LVar1 (vla-get-Count g/1/LVar0)  ; 获取集合中元素的个数
  4.         g/1/LVar2 0                             ; 初始化索引号
  5.         g/1/LVar3 nil                             ; 初始化所有线形的表
  6.   )
  7.   (while (< g/1/LVar2 g/1/LVar1)
  8.     (setq g/1/LVar4 (vla-get-name (vla-item g/1/LVar0 g/1/LVar2))
  9.           g/1/LVar3 (cons g/1/LVar4 g/1/LVar3)
  10.           g/1/LVar2 (1+ g/1/LVar2)
  11.     )
  12.   )
  13.   (if (not (member "CENTER2" g/1/LVar3))
  14.     (progn
  15.       ;;获取测量单位是英制还是公制
  16.       (setq g/1/LVar2 (getvar "MEASUREMENT"))
  17.       (if (= g/1/LVar2 0)
  18.         (setq g/1/LVar4 "acad.lin")
  19.         (setq g/1/LVar4 "acadISO.lin")
  20.       )
  21.       (setq g/1/LVar1 (findfile g/1/LVar4))
  22.       (vla-load g/1/LVar0 "CENTER2" g/1/LVar1)
  23.       (setq g/1/LVar3 (cons "CENTER2" g/1/LVar3))
  24.     )
  25.   )
  26.   (if (not (member "HIDDEN2" g/1/LVar3))
  27.     (progn
  28.       (setq g/1/LVar2 (getvar "MEASUREMENT"))
  29.       (if (= g/1/LVar2 0)
  30.         (setq g/1/LVar4 "acad.lin")
  31.         (setq g/1/LVar4 "acadISO.lin")
  32.       )
  33.       (setq g/1/LVar1 (findfile g/1/LVar4))
  34.       (vla-load g/1/LVar0 "HIDDEN2" g/1/LVar1)
  35.       (setq g/1/LVar3 (cons "HIDDEN2" g/1/LVar3))
  36.     )
  37.   )
  38.   g/1/LVar3
  39. )
回复 支持 1 反对 0

使用道具 举报

发表于 2013-7-15 16:04 | 显示全部楼层
这不就是改一下线型名就可以了吗?,组码是6
 楼主| 发表于 2013-7-15 18:09 | 显示全部楼层
nzl1116 发表于 2013-7-15 16:04
这不就是改一下线型名就可以了吗?,组码是6

@nzl1116
你好!谢谢你的回复.
     我就是不想去点选线条,然后再点线型为虚线那样.
我就用个LISP程序,用快捷键xx,就能通过键盘操作,提高画图速度!
希望得到你的帮忙!
谢谢!
发表于 2013-7-15 18:43 | 显示全部楼层
论坛上有ZZXXQQ写的  虚实变换 程序。。 你搜索下看看

评分

参与人数 1金钱 +5 收起 理由
freehand8008 + 5 赞一个!(顶吃黄瓜的哈哈)

查看全部评分

发表于 2013-7-15 19:12 | 显示全部楼层
泉(Ango) 发表于 2013-7-15 18:09
@nzl1116
你好!谢谢你的回复.
     我就是不想去点选线条,然后再点线型为虚线那样.

这么简单的东西,你也不想动手?
发表于 2013-7-15 19:40 | 显示全部楼层
(defun c:q1()
(setq ss (ssget":S"))
(command "change" ss "" "P" "lt" "DASHED" "")
(princ))
发表于 2013-7-15 19:43 | 显示全部楼层
669423907 发表于 2013-7-15 19:40
(defun c:q1()
(setq ss (ssget":S"))
(command "change" ss "" "P" "lt" "DASHED" "")

是不是要先判断,虚线或点划线要不要先加载呀?
发表于 2013-7-15 19:55 | 显示全部楼层
nzl1116 发表于 2013-7-15 19:51
;;;加载虚线和点划线

谢谢你,只是我不懂
发表于 2013-7-15 20:10 | 显示全部楼层
669423907 发表于 2013-7-15 19:55
谢谢你,只是我不懂

你也谦虚了,看你积分也蛮高的

点评

积分.................唉  发表于 2013-7-15 21:01
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 01:52 , Processed in 0.604205 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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