- (defun c:www (/ P1 P2 Dist1 Dist2 Ang1 hole1a hole1b)
- (savevartoold)
- (setq P1 (getpoint "\n Select a Point : "))
- (setq P2 (getpoint P1 "\n Select a Point : "))
- (setq Dist1 (distance P1 P2))
- (setq Dist2 (- Dist1 40.0))
- (setq Ang1 (angle P1 P2))
- (setvar "osmode" 0)
- (command "_.circle" (polar P1 (+ ang1 (dtr 0)) 20.0) "D" 3.2 "" )
- (setq hole1a (entlast))
- (command "_.circle" (polar P1 (+ ang1 (dtr 0)) (- Dist1 20.0)) "D" 3.2 "" )
- (setq hole1b (entlast))
- (if
- (and (> (- Dist1 40) 200) (/> (- Dist1 40) 400))
- (setq NewDist (/ (- Dist1 40) 2)))
- (command "_.copy" hole1a "" (polar P1 (+ ang1 (dtr 0)) 20) NewDist) "")
- (resetoldvar)
- (princ)
- )
在我找到“如果”之前,一切都很完美
我想说的是,如果Dist1-40大于200或者Dist1-40不大于400,那么将NewDist设置为Dist1-40除以2。
我希望我已经解释得足够清楚了
当做 |