高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】normal inverted by symmetry
normal inverted by symmetry
normal inverted by symmetry
hello forum,
1)the modelspace of the attached dbg.dwg contains a oddbblockreference. its blocktransform is a symmetry:
1 0 0 -793...
0 -1 0 3407...
0 0 1 0
0 0 0 1
note that this symmetry should not transform z-coordinates.
the referenced oddbblocktablerecord contains 2 oddbpolyline. when i call oddbpolyline::getarcsegat(0,arc3d) ; on the poyline "2bcf", the normal of the arc3d is (0,0,-1).
2)dbg2.dwg was generated by autocad from dbg.dwg. i loaded dbg.dwg in autocad, exploded the block "wi190226" and saved the file as dbg2.dwg.
so the modelspace of dbg2.dwg contains 2 polylines.
when i call oddbpolyline::getarcsegat(0,arc3d) on the polyline "384d", the normal of the arc3d is (0,0,1).
since the blocktransform should not transform z-coordinates, why the normal of arc3d is different in dbg.dwg and dbg2.dwg ?
attached files
odgecircarc3d is always counter-clockwise around normal. to represent clock-wise direction in polyline's plane normal is negated.
so for polyline with normal (0,0,1) you can get arcs with both (0,0,1) and (0,0,-1) normals.
sergey slezkin
ok but the arc3d with normal (0,0,-1) in 1) and normal (0,0,1) in 2) is the same odgecirarc3d.
the only difference between 1) and 2) is that the block containing the polyline(s) was exploded in 2).
so i do not understand this difference of normal, since the block transformation should not affect z-coordinates during a block explosion.
do you understand what i mean ?
hello,
have you got an answer to the previous question ?
mirror transformation changes direction of arc from clock wise to counter-clock wise and vise versa.
odgecircarc3d is always counter-clockwise around normal. to represent clock-wise
arc in polyline's plane without swaping start and end points arc's normal is negated.
so for polyline with normal (0,0,1) you can get arcs with both (0,0,1) (for ccw arcs) and (0,0,-1) (for cw arcs) normals.
sergey slezkin
ok i understand. thank you.
|