请教高手图形坐标转换的问题
我想做个图形坐标转换的程序(vba),想提取图形中的所有的点坐标,然后用新坐标替换,那为高手能指教一下,遍历图形中的每一个点,怎么遍历?我所说的点包括线状地物上的拐点等等 <p>怎么没人回答呢?</p> <p>我也在搞坐标转换的问题,多多交流qq375564896</p> <p>现要知道转换参数才行的。我用lisp弄了一个很简单的</p><p>(defun c:zh();将54系转换为苏州独立坐标系</p><p> ;(startapp "e:/zbzh.exe")<br/> ;(command "delay" 10000);延迟时间<br/> ;(setq cswj "e:/cswj.txt") <br/> ;(setq fp3 (open cswj "r"))<br/> ;(setq jd (atof (read-line fp3)))<br/> ;(setq x0 (atof (read-line fp3)))<br/> ;(setq y0 (atof (read-line fp3)))<br/> ;(close fp3)<br/> (setq jd 旋转角度)<br/> (setq jd (* jd 0.017453292))<br/> (setq y0 Y方向平移)<br/> (setq x0 X方向平移)<br/> (setq cs (cos jd ))<br/> (setq si (sin jd ))<br/> (setq kkk 0.999973920009)<br/> (setq a1 (ssget "X"))<br/> (setq shumu (sslength a1))<br/> (setq j 0)<br/> (setq tj 0)<br/> (repeat shumu<br/> (setq a2 (ssname a1 j))<br/> (setq a (entget a2))<br/> (setq n (length a ))<br/> (setq kk 0)<br/> (repeat n<br/> (setq m (nth kk a))<br/> (if (= (car m) 10) <br/> (progn<br/> (setq tj (+ tj 1))<br/> (setq p1 (cdr m))<br/> (setq y11 (car p1))<br/> (setq x11 (cadr p1))<br/> ;(setq x1 (- (+ x0 (* k ( * x11 cs))) (* y11 si)))<br/> ;(setq y1 (+ (+ y0 ( * x11 si)) (* y11 cs)))<br/> <br/> (setq x1 (- (+ x0 (* kkk (* x11 cs))) (* kkk (* y11 si))))<br/> (setq y1 (+ (+ y0 (* kkk (* x11 si))) (* kkk (* y11 cs))))<br/> (setq p1 (list y1 x1))<br/> (setq b1 (nth kk a))<br/> (setq b2 (cons 10 p1))<br/> (setq a (subst b2 b1 a))<br/> (entmod a)<br/> )<br/> )<br/> (if (= (car m) 11)<br/> (progn<br/> (setq tj (+ tj 1))<br/> (setq p1 (cdr m))<br/> (setq y11 (car p1))<br/> (setq x11 (cadr p1))<br/> (setq x1 (- (+ x0 (* kkk( * x11 cs))) (* kkk (* y11 si))))<br/> (setq y1 (+ (+ y0 (* kkk( * x11 si))) (* kkk (* y11 cs))))<br/> (setq p1 (list y1 x1))</p><p> (setq b1 (nth kk a))<br/> (setq b2 (cons 11 p1))<br/> (setq a (subst b2 b1 a))<br/> (entmod a) <br/> )<br/> )<br/> (setq kk (+ kk 1))<br/> )<br/> ;一个实体计算完毕,开始下一个循环。<br/> (setq j (+ j 1))<br/> )<br/> (princ)<br/> )</p>
页:
[1]