slsldu 发表于 2007-11-1 15:04:00
shyshy0916 发表于 2007-11-2 15:39:00
这种办法太难实现了,对象各有不同,有的不仅是特征点,还有相关参数,比如一个圆,光把圆中心点的坐标转换是没有用的,还要有半径才能显示出来,这有点太复杂化了,实际如果是简单的数学关系,可以直接用旋转与平移和缩放来完成就行了,何须这么麻烦呢?slsldu 发表于 2007-11-3 07:57:00
laoxie_198 发表于 2007-11-3 11:26:00
<p>(defun c:sz54();将苏州独立坐标系转换为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 kkk 1.000026080623)<br/> (setq jd -0.302501944)<br/> (setq jd (* jd 0.017453292))<br/> (setq y0 509.493398)<br/> (setq x0 3407.090933)<br/> (setq cs (cos jd ))<br/> (setq si (sin jd ))<br/> <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 ( * x11 cs)) (* y11 si)))<br/> ;(setq y1 (+ (+ y0 ( * x11 si)) (* y11 cs)))<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 ( * x11 cs)) (* y11 si)))<br/> ;(setq y1 (+ (+ y0 ( * x11 si)) (* y11 cs)))<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>冰神 发表于 2007-11-6 21:57:00
楼主也是搞测量的吧?liujing95 发表于 2012-9-21 14:10:56
正宗的四参数lisp转换模型,终于找到了cqy 发表于 2012-9-28 22:55:26
联系我:陈工 18059851457
页:
[1]