Grread动态拖放示例
2010-09-11 22:42阅读:
- By Chaos -
Grread动态拖放的一个示例,基本思路是:
-画实体
-利用grread获取鼠标坐标,修改实体属性进行更新
调用grread后不能进行捕捉,未解决
;;;-------------------
;;;
CCDT 动态拖放
;;;-------------------
(defunc:CCDT(/startPtendPtbDragssgrDatadModedPtipt1pt2)
(setqstartPt(getpoint'Please pick the first point:'))
(setqendPt(list(1+(carstartPt))(1+(cadrstartPt))))
(setqss(ccDrawstartPtendPt))
(setqbDragnil)
(while(notbDrag)
(setqgrData(grreadt40))
(setqdMode(cargrData))
(setqdPt(cadrgrData))
(if(=5dMode)
(ccUpdDrawstartPtdPtss)
);鼠标移动, 更新动态显示
(setqbDrag(=3dMode));是否选取点
)
(princ)
)
;画图形
(defunccDraw(startPtendPt/x1y1x2y2ssobStartssNext)
(setqx1(carstartPt))
(setqy1(cadrstartPt))
(setqx2(carendPt))
(setqy2(cadrendPt))
(setqss(ssadd))
(command'Line'(listx1y1)(listx2y2)'')
(setqssNext(entlast))
(command'Line'(listx2y1)(listx1y2)'')
(command'Line'(listx1y1)(listx2y1