如果有人想做类似的事情。。。这是我cam编写的代码的一部分。希望这对将来的人有所帮助。还可以修改动态块的配置方式,动态块编辑器中的Z轴将成为构成“法线”值的单位向量的参考。所以我必须把单位向量绕z轴旋转90度。
- (setq pl_set (ssget '((0 . "INSERT"))))
- (setq pl_set_lgth (SSLENGTH pl_set))
- (setq br_item 0)
- (repeat pl_set_lgth
- (setq en (SSNAME pl_set br_item))
- (setq entvla (vlax-Ename->Vla-Object en))
- (setq unitVec (vlax-get entvla 'normal))
- (setq InsrtPnt (vlax-get entvla 'InsertionPoint))
- (if (getdynpropvalue entvla "BRCKT_ELEV X")
- (progn
- (setq brace_dist (abs (getdynpropvalue entvla "BRCKT_ELEV X")))
- (princ "\n unitVec is:") ;to be removed
- (princ unitVec) ;to be removed
- (setq i_val (car unitVec))
- (setq j_val (cadr unitVec))
- (setq i_val_n (* 1.0 j_val))
- (setq j_val_n (* -1.0 i_val))
- (setq z_rot_rad (atan j_val_n i_val_n))
|