当你感到无聊时的口齿不清。
... 我是(defun c:bored (/ pt1 pt2 lst cnt gr)
(setq pt1 (getpoint "\nSelect First Point: ")
pt2 (getpoint "\nSelect Second Point: ")
lst (list pt1 pt2) cnt 0)
(while (eq 5 (car (setq gr (grread 5))))
(redraw)
(setq lst
(append lst
(list (last lst) (cadr gr))))
(if (< 100 cnt)
(setq lst (cddr lst)))
(setq cnt (1+ cnt))
(grvecs (append (list (rem (/ cnt 100) 255)) lst)))
(princ))
享受无聊的乐趣。
肖恩多
更简单的方法伙计
<br>(defun c:bored (/ pt1 pt2 lst cnt gr)<br>(vl-load-com)<br>(setq DisplayObj (vla-get-display (vla-get-preferences (vlax-get-acad-object))))<br>(setq pt1 (getpoint "\nSelect First Point: ")<br> pt2 (getpoint "\nSelect Second Point: ")<br> lst (list pt1 pt2) cnt 0)<br>(vla-put-ModelCrosshairColor DisplayObj 0); Black<br>(while (eq 5 (car (setq gr (grread 5))))<br> (redraw)<br> (setq lst<br> (append lst<br> (list (last lst) (cadr gr))))<br> (if (< 100 cnt)<br> (setq lst (cddr lst)))<br> (setq cnt (1+ cnt))<br> (grvecs (append (list (rem (/ cnt 100) 255)) lst)))<br>(princ)<br>(vla-put-ModelCrosshairColor DisplayObj 16777215); White<br>)<br>
谢谢Buzzard,我感到很荣幸——但这个网站上有很多经验丰富的程序员,他们只是“不如我活跃”。
祝你的朋友好运
干杯,艾伦,
这是一个很好的选择,我并没有花太多时间思考这个问题,但这是一个很好的解决方案
李 我只是想到了viewctr,因为我有时使用它来放置计算例程的文本,这样我就不必实际选择放置点,因为我将在填写完所有信息后立即删除它。 不错,李
这是我的无聊和你的无聊交织在一起。
(defun c:bored(/ pt1 pt2 lst cnt gr)
;;;(vl-load-com)
;;;(setq DisplayObj (vla-get-display
;;; (vla-get-preferences
;;; (vlax-get-acad-object))))
(setq pt1 (getpoint "\nSelect First Point: ")
pt2 (getpoint "\nSelect Second Point: ")
lst (list pt1 pt2) cnt 0)
;;;(vla-put-ModelCrosshairColor DisplayObj 0) ; Black
(while (eq 5 (car (setq gr (grread nil 5 1))))
(redraw)
(setq lst
(append lst
(list (last lst) (cadr gr))))
(if (< 100 cnt)
(setq lst (cddr lst)))
(setq cnt (1+ cnt))
(grvecs (append (list (rem (/ cnt 100) 255)) lst)))
(princ)
;;;(vla-put-ModelCrosshairColor DisplayObj 16777215) ; White
)
哈哈-辉煌的罗恩
Well, you say that, after spending a bit more time at the TheSwamp, I'm beginning to consider myself a beginner... Hey, As far as I am concerned, Your number 1 here. I will make my best attempt at it anyway. After all, I have no boss to answer to. But you will be suprised to see that this code was done so easy, Most of the programmers here could have done it. I am just going to enhance it a bit. man, i know exactly how you feel.
just to remove the requirement to pick 2 points...
(defun c:bored(/ pt1 pt2 lst cnt gr);;;(vl-load-com);;;(setq DisplayObj (vla-get-display;;; (vla-get-preferences;;; (vlax-get-acad-object)))) (setq pt1 (getvar "viewctr") pt2 (mapcar '(lambda (x) (* x x)) pt1) lst (list pt1 pt2) cnt 0);;;(vla-put-ModelCrosshairColor DisplayObj 0) ; Black (while (eq 5 (car (setq gr (grread nil 5 1)))) (redraw) (setq lst (append lst (list (last lst) (cadr gr)))) (if (< 100 cnt) (setq lst (cddr lst))) (setq cnt (1+ cnt)) (grvecs (append (list (rem (/ cnt 100) 255)) lst))) (princ);;;(vla-put-ModelCrosshairColor DisplayObj 16777215) ; White )
页:
[1]
2