找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 16225|回复: 8
打印 上一主题 下一主题

LISP更新图象问题

[复制链接]
跳转到指定楼层
1
发表于 2003-10-3 21:22:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位老师好,有一个LISP问题
每当我输入颜色号码,选择图安时候,象LINE CIRCLE都能更句我所输入的颜色号码来改变,但距行就不行,我试过好几次了不知道是为什么。还有如果居行的颜色不时随层的话问题就没了。下面是我的LISP程序。

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2003-10-3 21:23:43 | 只看该作者
为什么距行不变色??

本帖子中包含更多资源

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

x
3
发表于 2003-10-3 21:29:54 | 只看该作者
希望大家知道的话
说一下
  
小弟先谢过了
4
发表于 2003-10-4 09:05:38 | 只看该作者
因为LWPline是复杂实体,与Circle、Line这样的简单实体不同。
您在添加颜色项(62 . xxx)的时候,必须保证放在复杂实体数据表的"内部“,而不是现在这样放在“外部”,至少要放在-1项的后面。
5
发表于 2003-10-4 21:18:37 | 只看该作者
太感谢你了
您真不愧是我CAD的偶像!!!
  
十万分的感谢!!!!!!!!
6
发表于 2003-10-5 22:39:11 | 只看该作者
陈伯雄 wrote:
因为LWPline是复杂实体,与Circle、Line这样的简单实体不同。  
  您在添加颜色项(62 . xxx)的时候,必须保证放在复杂实体数据表的"内部“,而不是现在这样放在“外部”,至少要放在-1项的后面。

  
教授,如何控制新生成表所在的位置呢?如何插到-1项以后呢?
7
发表于 2003-10-6 09:17:16 | 只看该作者
自己组织自己写涵数呀。
8
发表于 2003-10-13 22:11:57 | 只看该作者
把程序改了一下,可以了。
  
(defun c:ua()
   (graphscr)
   (setq oce (getvar "cmdecho"))
   (setvar "cmdecho" 0)
   (setq c2 (cons 62 (getint "\nnew color:")));;组成数据项
   (setq s1 '())                           ;;建立空的序列,准备存放对象名称
   (setq s2 (ssadd))                       ;;建立空的选择集中,准备放主对象名称
  
   (setq e1 (entsel "\nselect object:"))  ;;选取要修改的颜色对象
   (while e1                               ;;当选到的图形是重复循环   
     (setq e2 (car e1))
     (setq s1 (cons e2 s1))                ;;将对象加入序列        
     (if (setq e3 (car (cadddr e1)))       ;;取主对象的名称若有加入
       (setq s2 (ssadd e3 s2))
     )
     (setq e1 (entsel "\nselect object:"));;继续
   )
  
   (setq i 0)                    ;;更新对象
   (repeat (length s1)                     ;;重复N次
     (setq e2 (entget (nth i s1)))         ;;取出对象数据列
     (setq et (cdr (cadr e2)))
     (if (setq c3 (assoc 62 e2))           ;;取出旧的颜色数据项
       (setq e5 (subst c2 c3 e2))          ;;若有,置换颜色数据项
       (if (= et "LWPOLYLINE")
     (progn (setq e2(reverse e2))
            (setq e2(cons c2 e2))
            (setq e5(reverse e2))
     )
          (setq e5 (cons c2 e2))          ;;若无,则加入颜色数据
       )
     )
     (entmod e5)                           ;;更新
  
     (setq i (1+ i))
   )
   ;;更新主象
   ;;略
)
  
红色部分为新加的。
顺便问一下,lisp中有四舍五入的函数吗?
9
发表于 2003-10-14 00:19:29 | 只看该作者
四捨五入的函數自己寫.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-1-24 05:12 , Processed in 0.033840 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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