只需一步,快速开始
命令: (setq sset (ssget "wp" a b)); 错误: 错误的点列表
命令: !a (34335.2 -268495.0)
命令: !b (100902.0 -230336.0)
使用道具 举报
Andyhon 发表于 2009-3-31 09:51 本帖最后由 作者 于 2009-3-31 9:54:08 编辑 ;;; http://www.faqs.org/faqs/CAD/autolisp-faq/part2/sect ...
(setq sset (ssget "wp" (list a b)))
但至少传递3个点的点表,否则选不到任何目标.
哦,原来是这样.其实我是想不用系统的REGEN命令,因为刷新要很久,我想只刷新当前屏幕上看得到的物体,有没有这样的程序呢?
我有一个,但是需要选择,我是想省去选择这一步,而且这个程序刷新天正的物体的话经常出错.
哪位有没有更好的?(setq leng (sslength sset))(progn (setq i 0) (while (< i leng) (setq ent (ssname sset i)) (entmod (entget ent)) (setq i (+ i 1)) ))
;;; (for-sset ss entdel) ;;; Vladimir Nesterovsky
(defun for-sset (sset fun / n) (if (= 'PICKSET (type sset)) (repeat (setq n (fix (sslength sset))) (fun (ssname sset (setq n (1- n)))) ) ))
;;; =======================================
(defun Re_ss (a) (for-sset a entupd))
ex. (Re_ss sset)
Andyhon,我不明白这段程序如何运行呢?
我是希望执行一个命令就会自动刷新当前屏幕上看到的物体(不需要选择物体)
;;; http://www.faqs.org/faqs/CAD/autolisp-faq/part2/section-2.html;;; returns a list of the actual viewport corners in WCS (defun ZOOMPTS ( / ctr h screen ratio size size_2) (setq ctr (xy-of (getvar "VIEWCTR")) ;3D -> 2D h (getvar "VIEWSIZE") ;real screen (getvar "SCREENSIZE") ;2D: Pixel x,y ratio (/ (float (car screen)) ;aspect ratio (cadr screen)) size (list (* h ratio) h) ;screensize in coords size_2 (mapcar '/ size '(2.0 2.0))) (list (mapcar '- ctr size_2) (mapcar '+ ctr size_2)))
;;; for WCS only(re_ss (apply 'ssget (cons "w" (ZOOMPTS)))) ;; windowsor(re_ss (apply 'ssget (cons "c" (ZOOMPTS)))) ;; crossing
Andyhon,缺少函数:RE_SS
错误: no function definition: RE_SS
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2025-2-22 02:48 , Processed in 0.173631 second(s), 28 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.