明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2277|回复: 9

lisp画线指定图层、线型和颜色

[复制链接]
发表于 2017-9-5 10:17 | 显示全部楼层 |阅读模式
1明经币
想用lisp实现画pline多段线,画的同时该图元归到设定的图层、颜色和线型,请教怎么写!

发表于 2017-9-6 10:28 | 显示全部楼层
想用lisp实现画pline多段线,画的同时该图元

简单的说吧
模板先建有该图层并指定所使用的颜色和线型
(备便引用)

画pline多段线前切换至该图层


建图层并指定所使用的颜色和线型
站内有前例直接套用

切换至该图层
(setvar "Clayer" 该图层)

当然加上错误处理会更好
回复

使用道具 举报

 楼主| 发表于 2017-9-9 08:32 | 显示全部楼层
Andyhon 发表于 2017-9-6 10:28
想用lisp实现画pline多段线,画的同时该图元

简单的说吧

不能不使用模版,直接在原始文件内直接做吗?
回复

使用道具 举报

发表于 2017-9-9 09:31 | 显示全部楼层
模版,适用于自家用的新图

若是来自客户的图 or 旧图
则直接在原始文件内直接做
or
insert 至 新开启的模版后再行处理

回复

使用道具 举报

发表于 2017-9-9 17:01 | 显示全部楼层
很简单!如果用entmake的方式创建多段线,则8对应图层,62对应颜色,6对应的是线型。直接写进去就行了。

比如这样子。
  1. (defun        c:tt()
  2.   (setq lst (list (getpoint) (getpoint) (getpoint)))
  3.   (entmake (append
  4.              (list (cons 0 "LWPOLYLINE")
  5.                    (cons 100 "AcDbEntity")
  6.                    (cons 100 "AcDbPolyline")
  7.                    (cons 6 "ACAD_ISO05W100")        ;线型
  8.                    (cons 8 "new")                ;图层
  9.                    (cons 62 1)                        ;颜色
  10.                    (cons 90 (length lst)))
  11.              (mapcar ''((x) (cons 10 x)) lst)))
  12.   )
回复

使用道具 举报

 楼主| 发表于 2017-9-13 08:49 | 显示全部楼层
water_system 发表于 2017-9-9 17:01
很简单!如果用entmake的方式创建多段线,则8对应图层,62对应颜色,6对应的是线型。直接写进去就行了。

...

测试了下,出现了以下问题:1.画线必须要确定3个点才能生成线条(而且只能画3点构成的2条线);2.就是线型的问题,必须当前文件内加载了设置的线型才能用,如果当前文件内没有代码内设置的线型,则功能失效!
回复

使用道具 举报

发表于 2017-9-13 10:18 | 显示全部楼层
建议您即尽早规范使用客制化模板
回复

使用道具 举报

发表于 2017-10-31 10:47 | 显示全部楼层
不错的资料,谢谢分享啊。
回复

使用道具 举报

发表于 2019-9-15 14:49 | 显示全部楼层
谢谢分享,学习下
回复

使用道具 举报

发表于 2019-11-1 17:26 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 05:34 , Processed in 0.204868 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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