乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 73|回复: 4

请教各位:如何改变实体比例?

[复制链接]
xhf

20

主题

254

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
334
发表于 2004-6-6 17:29:00 | 显示全部楼层 |阅读模式
请教各位高手:我编了一个LISP程序,想修改所有选择的实体的比例,但是运行后却没有反映,请帮忙!"BPM"为我要选择的实体所在的层。 程序如下:
;***************************************
;         |         sbsf         按指定比例缩放所选设备         |         ;
;***************************************
(defun c:sbsf (/ ss e el xsc ysc zsc m n)
         (setvar "cmdecho" 0)
         (prompt "\n请选择要被缩放的设备:")
         (setq ss (ssget '((0 . "insert") (8 . "Bpm"))))
         (if ss
                         (progn                 
                                         (setq sc (getreal"\n请输入缩放比例:"))
                                         (setq m 0)
                                         (setq n (sslength ss))
                                         (while (< m n)
                                                         (setq e (ssname ss m))
                                                         (setq el (entget e))
                                                         (setq         xsc         (* sc (cdr (assoc 41 el)))                 ;X比例因子
                                                                                                                        ysc         (* sc (cdr (assoc 42 el)))                 ;Y比例因子
                                                                                                                        zsc         (* sc (cdr (assoc 43 el)))                 ;Z比例因子
                                                                                                                        e1                 (subst (cons 41 xsc) (assoc 41 e1) e1)
                                                                                                                        e1                 (subst (cons 42 ysc) (assoc 42 e1) e1)
                                                                                                                        e1                 (subst (cons 43 zsc) (assoc 43 e1) e1)
                                                         )
                                                         (entmod e1)
                                                         (entupd e)
                                                         (setq m (+ 1 m))
                                         )
                         )
         )
         (princ)
)
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-6 18:03:00 | 显示全部楼层
e1还是el,不要搞错了
回复

使用道具 举报

xhf

20

主题

254

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
334
发表于 2004-6-6 18:32:00 | 显示全部楼层
是e1,,不是EL。
执行到SUBST函数那一行时显示的是nil。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-6-6 18:56:00 | 显示全部楼层
是让你不要搞错了!!!你再仔细看看你的程序
回复

使用道具 举报

xhf

20

主题

254

帖子

9

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
334
发表于 2004-6-6 20:18:00 | 显示全部楼层
多谢飞斑竹,我看出来了。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-18 14:26 , Processed in 1.686493 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表