- 积分
- 6851
- 明经币
- 个
- 注册时间
- 2006-3-16
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2015-8-16 19:40:04
|
显示全部楼层
本帖最后由 liu_kunlun 于 2015-8-16 19:49 编辑
1,cad的人机界面用UCS,例如command输入的点,grdraw输入的点,还有像getpoint得到的点。
2,entget得到的点和entmake\entmod所需要的点是一样的,可能是wcs也可能是ocs,具体看dxf帮助。如point、line、3dpline等非"平面"实体采用WCS,而insert、arc、circle、LWPOLYLINE等"平面"实体采用ocs,而dimensionv则同一实体中,可能有的点为wcs有的点为ocs。ocs应理解为cad内部记录形式,现在新的实体倾向于用wcs。具体还是看dxf帮助。
3,转换
有ocs的实体,210组码就很有用。
ocs到wcs,(trans ocspt 210组码 0),反之,(trans wcspt 0 210组码)
ocs到ucs,(trans ocspt 210组码 1),反之,(trans ucspt 1 210组码)
ucs到wcs,(trans ucspt 1 0),该转换在entmake及entmod中有用。反之,(trans wcspt 0 1),该转换在command中有用。
ucs到ocs,(trans ucspt 1 210组码)),该转换在entmake及entmod中有用。反之,(trans ocspt 210组码 1)。
trans函数中,ocs用entname,也可以用210组码---即(cdr (assoc 210 (entget entname)))。
一般情况下,wcs=ucs=ocs,不用转换,但当自定义ucs制图之后,特别是3维制图,情况就大不同了。
|
|