Gu_xl
发表于 2012-6-29 16:15:33
请解释一下英霸的含义!我Out啦?真不明白!
半听可乐
发表于 2012-6-29 16:26:35
本帖最后由 半听可乐 于 2012-6-29 16:26 编辑
Gu_xl 发表于 2012-6-29 16:15 http://bbs.mjtd.com/static/image/common/back.gif
请解释一下英霸的含义!我Out啦?真不明白!
http://baike.baidu.com/view/2182764.htm
cnks
发表于 2012-6-29 17:43:25
半听可乐 发表于 2012-6-29 16:12 static/image/common/back.gif
网络流行语吧,貌似出自魔兽一款游戏的地图名字
了然
eeellleee
发表于 2012-6-29 23:19:09
有意思的小程序,创
水如天
发表于 2012-6-30 07:32:35
关联移动还是很有创意的
imaya
发表于 2012-6-30 08:49:30
这东西好用,谢谢楼主
adc
发表于 2012-6-30 11:29:25
本帖最后由 adc 于 2012-6-30 11:31 编辑
又来踢馆了,发一个本论坛的,功能类似
半听可乐
发表于 2012-6-30 12:39:08
adc 发表于 2012-6-30 11:29 static/image/common/back.gif
又来踢馆了,发一个本论坛的,功能类似
动态拉伸这个就两行代码解决的事,咱的看点是关联移动哦,朋友
pimgu
发表于 2012-7-1 16:52:36
转载;;Associate (SUPER) move----------------------------------------------------------------------
(defun c:m( / ss)
(prompt "Select objects:")(setq ss (ssget))
(if ss (command "move" ss "")(progn (princ "\n -->")
(#sm)))
(princ ))
(defun c:sm()(#sm))
(defun #sm()(setq olderr *error* *error* myerr)
(setq ot (getvar"orthomode"))
(setvar "orthomode" 1)(move-1) (setvar "orthomode" ot)(setq *error* olderr) (princ))
(defun move-1(/ en ens enx ENT pt ss1 ss2 ss3 xlst xlsd p1 lst lsd n)
(defun #sms (en2 a b / p1 )
(if (vlax-curve-getparamatpoint en (dxf en2 a))(setq p1 a))
(if (vlax-curve-getparamatpoint en (dxf en2 b))(setq p1 b))
(if p1 (list en2 p1)) );
; main
(setvar "cmdecho" 0)(princ "\nSelect Objects: ")
(setq end (ssget))(setq ss2 (#ss2lst end))
(if (setq ens (ssget "p" '((0 . "LINE"))))
(progn ;(setq n 0 lst (list) lsd (list) )
(repeat (setq n (sslength ens))
(setq ent (entget (setq en (ssname ens (setq n (1- n))))))
(setq ss1(ssget "c" (dxf ent 10)(dxf ent 11) '((0 . "LINE")))
xlst (vl-remove-if 'null (mapcar '(lambda (x) (#sms x 10 11))(lst-lst (#ss2lst ss1) ss2) ))
ss3(ssget "c" (dxf ent 10)(dxf ent 11) '((0 . "DIMENSION")))
xlsd (vl-remove-if 'null (mapcar '(lambda (x) (#sms x 13 14))(lst-lst (#ss2lst ss3) ss2) )) )
(setq lst(cons (list en xlst ) lst ))
(if xlsd (setq lsd (cons (list en xlsd) lsd)))
);repeat
));if
(foreach ls xlsd(redraw(car ls) 3))
(setvar "cmdecho" 1)
(if end (command "move" end ""))
(while (/= 0 (getvar "cmdactive")) (command pause))
(setvar "cmdecho" 0)
(foreach lt lst
(setq en (car lt) xlst (cadr lt))
(foreach ls xlst (if (setq pt (car (#inpt en (car ls) 2) ))
(progn (setq p1 (cadr ls) enx (entget (car ls)))
(entmod (subst (cons p1 pt)(assoc p1 enx) enx))
));if
));2foreach
(foreach lt lsd
(setq en (car lt) xlsd (cadr lt))
(foreach ls xlsd
(setq enx (entget (car ls)) p1 (cadr ls))
(setq pt (vlax-curve-getClosestPointTo en (dxf enx p1) ))
(entmod (subst (cons p1 pt)(assoc p1 enx) enx))
));foreach
(princ))
(defun myerr(msg)(setq *error* olderr)(setvar "orthomode" ot) (princ))
(defun #ss2lst (s / n ls) ;;;转换选择集为表
(if s (repeat (setq n (sslength s))(setq ls (cons (ssname s (setq n (1- n))) ls)))))
(defun lst-lst( a b ) (vl-remove-if '(lambda(x)(member x b)) a))
(defun dxf(ent i)(if (= (type ent) 'ename)(setq ent (entget ent)))(cdr (assoc i ent)))
(defun #inpt (e1 e2 k / lst lst2)
(setq lst (vlax-invoke(vlax-ename->vla-object e1)'intersectwith(vlax-ename->vla-object e2) k))
(if lst (repeat (/ (length lst) 3)(setq lst2 (cons (list (car lst)(cadr lst)(caddr lst)) lst2) lst (cdddr lst))))
(reverse lst2))
pimgu
发表于 2012-7-1 16:54:05
这是哪位大哥的忘记了
页:
1
2
3
[4]
5
6
7
8
9
10
11
12