嘿
我找到了这个lisp例程
- (while (not (setq ent (entsel "\nChoose an object: "))));
- (setq obj_curv (vlax-ename->vla-object (car ent)))
- (cond
- ((member
- (vlax-get-property obj_curv 'ObjectName)
- '("AcDbPolyline" "AcDb2dPolyline" "AcDbLine"
- "AcDbArc" "AcDbCircle" "AcDbEllipse"
- "AcDbSpline" "AcDbRay" "AcDbXline"
- )
- )
- (setq
- pt_sel (vlax-curve-getClosestPointTo
- obj_curv
- (trans (cadr ent) 1 0)
- )
- [color=red]param (vlax-curve-getparamatpoint obj_curv pt_sel); how do understand this line[/color]
- [color=red]deriv (vlax-curve-getfirstderiv obj_curv param);how do understand this line[/color]
- [color=red])[/color]
- [color=red](setvar "snapang"[/color]
- [color=red](+ (atan (cadr deriv) (car deriv)) (/ pi 2))[/color]
- [color=red])[/color]
据我所知,它应该改变垂直于所选对象的十字线的角度。我把一些线改成了红色,似乎这就是原因。但我不明白为什么会这样?。这个param和deriv变量有什么重要意义?
谁能给我解释一下!
谢谢
M |