明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: huanghesen

小小程式作用大大!!!(对象局部重生成!)

  [复制链接]
发表于 2009-4-30 17:07 | 显示全部楼层

;;修改了一下,用看看是否比较方便一点.

;; 版权所有 (C) 2009-2012  黄河森
(defun c:rdd()
(print "本程序局部重生成对像")
(SYS12)
(SETQ SS (SSGET "C" P3 P1))
(COMMAND "SCALE" SS "" "@0,0,0" "1")
(prin1)
)

;;;取得绘图区范围的尺寸座标                                               
;;1为左下角依逆时钟依序P2,P3,P4                                         
(defun sys12()                                                          
  (setq cp (trans (getvar "viewctr") 1 2))                                
  (setq pt1 (trans (getvar "vsmin") 1 2))                                 
  (setq pt2 (trans (getvar "vsmax") 1 2))                                 
  (setq xscl (- (car pt2) (car pt1)))                                     
  (setq yscl (- (cadr pt2) (cadr pt1)))                                   
  (setq sh (getvar "viewsize"))                                           
  (setq sw (* sh (/ xscl yscl)))                                          
  (setq p1 (list (- (car cp) (* 0.5 sw)) (- (cadr cp) (* 0.5 sh))))       
  (setq p3 (list (+ (car cp) (* 0.5 sw)) (+ (cadr cp) (* 0.5 sh))))       
  (setq p2 (list (car p3) (cadr p1)))                                     
  (setq p4 (list (car p1) (cadr p3)))                                     
)                                                                         

发表于 2009-5-2 14:42 | 显示全部楼层

收藏了,这功能很实用,谢谢!

发表于 2009-5-10 00:33 | 显示全部楼层

学习中

发表于 2009-5-10 04:38 | 显示全部楼层

先多加个比例设置,后再生成那好多。

发表于 2010-11-5 17:04 | 显示全部楼层
   解决了我的难题,谢楼主的好资料
发表于 2010-11-6 00:24 | 显示全部楼层

regen不行?

发表于 2010-11-6 09:41 | 显示全部楼层
原地移动,原地旋转我认为都可以!
发表于 2010-11-6 11:44 | 显示全部楼层

;看下我这个怎么样,一直用这个

(defun hy_regenwindows ( / $screen atio ce ch ch2 hh hh2 k p1 p2 ss) (setq $screen (getvar "SCREENSIZE")) (setq ch (getvar "viewsize")) (setq ch2 (/ ch 2)) (setq ce (getvar "viewctr")) (setq atio (/ (car $screen) (cadr $screen))) (setq hh (* atio ch)) (setq hh2 (/ hh 2)) (setq p1 (polar (polar ce 0 hh2) (* 1.5 pi) ch2)) (setq p2 (polar (polar ce pi hh2) (* 0.5 pi) ch2)) (setq ss (ssget "C" p1 p2)) (setq k -1) (if (> (sslength ss) 0) (repeat (sslength ss) (entupd (ssname ss (setq k (1+ k)))) ) ) (princ) )

 

发表于 2010-11-9 09:09 | 显示全部楼层
不錯的東西~
看來有時複雜的東西還是要有不同的思路!!
发表于 2010-11-9 11:26 | 显示全部楼层

我的图比较小,一直用重生成命令,

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

本版积分规则

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

GMT+8, 2024-5-20 06:13 , Processed in 0.173967 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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