新写的代码? 不知道哪里有错。请大侠指教!
(setq en_line (entsel "选取要对齐直线"))(setq en_line_data (entget (car en_line))) ;取得en_line的全属性列表
(setq pt1 (cdr (assoc 10 en_line_data))) ;取得en_line的起点坐标
(setq pt2 (cdr (assoc 11 en_line_data))) ;取得en_line的终点坐标
(setq line_angle (angle pt1 pt2)) ;计算两点的弧度
(setq en_text (entsel "选取文字"))
(setq en_text_data (entget (car en_text))) ;取得en_text的全属性列表
(setq text_angle (assoc 51 en_text) ;取得en_text角度列表
(setq new_angle (cons 51 line_angle)) ;产生新的角度列表
(setq en_text (subst new_angle txet_angleen_text)) ;新旧替换
(entmod en_text) ;更新对象
(setq text_angle (assoc 51 en_text)
这行缺闭括号 多谢! 括号有了但是还是有错误!
错误: 关联列表错误: (<图元名: 7efabf10> (-43271.1 -100061.0 0.0)) Try
(setq en_line (entsel "选取要对齐直线"))
(setq en_line_data (entget (car en_line))) ;取得en_line的全属性列表
(setq pt1 (cdr (assoc 10 en_line_data))) ;取得en_line的起点坐标
(setq pt2 (cdr (assoc 11 en_line_data))) ;取得en_line的终点坐标
(setq line_angle (angle pt1 pt2)) ;计算两点的弧度
(setq en_text (entsel "选取文字"))
(setq en_text_data (entget (car en_text))) ;取得en_text的全属性列表
(setq text_angle (assoc 50 en_text_data )) ;取得en_text角度列表
(setq new_angle (cons 50 line_angle)) ;产生新的角度列表
(setq en_text (subst new_angle text_angleen_text_data)) ;新旧替换
(entmod en_text) (setq text_angle (assoc 51 en_text))
ent_text应该是en_text_data (setq en_line (entsel "选取要对齐直线"))
(setq en_line_data (entget (car en_line))) ;取得en_line的全属性列表
(setq pt1 (cdr (assoc 10 en_line_data))) ;取得en_line的起点坐标
(setq pt2 (cdr (assoc 11 en_line_data))) ;取得en_line的终点坐标
(setq line_angle (angle pt1 pt2)) ;计算两点的弧度
(setq en_text (entsel "选取文字"))
(setq en_text_data (entget (car en_text))) ;取得en_text的全属性列表
(setq text_angle (assoc 50 en_text_data)) ;取得en_text角度列表
(setq new_angle (cons 50 line_angle)) ;产生新的角度列表
(setq en_text_data (subst new_angle text_angleen_text_data)) ;新旧替换
(entmod en_text_data) ;更新对象 这些都改好了但是发现程序还是不能用纠结中! 完整的程序:
(defun c:ttt ()
(setq en_line (entsel "选取要对齐直线")
en_line_data (entget (car en_line)) ;取得en_line的全属性列表
pt1 (cdr (assoc 10 en_line_data));取得en_line的起点坐标
pt2 (cdr (assoc 11 en_line_data));取得en_line的终点坐标
line_angle (angle pt1 pt2) ;计算两点的弧度
en_text (entsel "选取文字")
en_text_data (entget (car en_text)) ;取得en_text的全属性列表
text_angle (assoc 50 en_text_data) ;取得en_text角度列表
new_angle (cons 50 line_angle) ;产生新的角度列表
en_text_data (subst new_angle text_angle en_text_data);新旧替换
)
(entmod en_text_data)
)
是可以用的
页:
[1]
2