本帖最后由 作者 于 2008-7-1 17:11:07 编辑
第一个问题不难吧:)
第二个问题抽空做了一下:) 如下是代码,敬请参考:) - ;;;功能: 摆水平对象
- ;;;编程: BDYCAD
- ;;;时间: 2008-07-01 香港回归11周年纪日
- (defun c:rx(/ ENAME HPT PT1 PT2 SEL SELPT)
- (if(setq Sel(entsel"\n请你选取要水平摆放的对象:"))
- (progn
- (setq Ename(car Sel)SelPt(cadr Sel))
- (setq Hpt(vlax-curve-getClosestPointTo Ename SelPt T)
- Pt1 Hpt Pt2(vlax-curve-getPointAtDist Ename (+ (vlax-curve-getDistAtPoint Ename Hpt) 0.1)))
- (setvar"cmdecho"0)
- (setvar "osmode" (logior (getvar "osmode") 16384));关辅捉
- (command".rotate"sel"" pt1"r"pt1 pt2 0)
- (setvar "osmode" (logand (getvar "osmode") 49151));开辅捉
- (setvar"cmdecho"1)
- (princ"\n水平摆位完成,谢谢使用,如有好的建议请联系BDYCAD:)")
- )
- (princ"\n没有选到对象,请再试一次:)")
- )
- (princ)
- )
|