易云网络 发表于 2014-11-7 18:47:13

求教一个DXF组码问题


(defun c:ahh (/ p1 p2 r1 r2 res)
   (setvar "cmdecho" 0)    ;命令执行过程不响应
   (command "_.undo" "be");;
   
   (setqenyk    (ssget '((0 . "CIRCLE")))
               n   (sslength enyk)
                    ykjd    270                         ;油孔角度
                nn      0 )
(repeat n
             (setq   en-data(entget(ssname enyk nn))
            ra    (cdr (assoc 40 en-data))    ;;取得半径子列表
             cxy    (cdr (assoc 10 en-data))    ;;取得圆的圆心
                 cx    (carcxy)                  ;圆心x坐
                   cy    (cadr cxy)                      ;圆心y坐标
             yyc    0.7                        ;引线距离
            ykxy    (polar cxy (/(* ykjd PI)180) (- ra yyc))
             )
   (if ( > ra 1.70 )
       (progn   
       (entmake    (list '(0 . "CIRCLE") '(62 . 3)(cons 10 ykxy) '(40 . 0.444)))
       (setq nn (+ nn 1))
       )
       (setq nn (+ nn 1))
      )
)
   (command "_.undo" "e");;

)



易云网络 发表于 2014-11-7 18:47:14

为什么我发不了附件?????

易云网络 发表于 2014-11-7 18:47:15

cxy    (cdr (assoc 10 en-data))    ;;取得圆的圆心
这个X值为什么是负数,在WUS下查询是正的,DXF组码也是负的

易云网络 发表于 2014-11-7 18:59:17

好像是230组码问题 ,

易云网络 发表于 2014-11-8 10:59:42

就是210的问题,这个-1.是什么意思呢?,我改成-9.0对图档没有影响

(repeat n
             (setq   en-data(entget(ssname enyk nn))
            ra    (cdr (assoc 40 en-data))    ;;取得半径子列表
             cxy    (cdr (assoc 10 en-data))    ;;取得圆的圆心
                 cx    (carcxy)                  ;圆心x坐
                 cy    (cadr cxy)                  ;圆心y坐标
            210zm (caddr (cdr (assoc 210 en-data)))
             yyc    0.7                        ;引线距离
             )
(if (< 210zm0)(setq cxy (list (* -1. cx) cy)))
(setq ykxy   (polar cxy (/(* ykjd PI)180) (- ra yyc)))
页: [1]
查看完整版本: 求教一个DXF组码问题