高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】oddbpolygonmesh type
oddbpolygonmesh type
oddbpolygonmesh type
hi,
i can quite successfully create meshes of type polymeshtype::ksimplemesh.
if meshes set to other types like polymeshtype::kquadsurfacemesh, kcubicsurfacemesh, etc come from autocad, they are rendered fine in dwgdirect.
but if i change the type in dwgdirect from simple to some other type then i see no difference. is it autocad that puts some cached vertices in the mesh? can dwgdirect make the needed calculations to render such meshes?
best regards
chudomir
dear chudomir,
you're as always absolutely correct - when you're changing the polygon mesh type, autocad calculates and puts additional vertices to the polygon mesh (these additional vertices have type "3d fit vertex"). this functionality (putting fit vertices to polygon mesh) is not implemented yet in dd, but it will be implemented.
if you want to get this functionality implemented right now, there are no problems to implement it using mathematical methods, that we already implemented in odgenurbsurface class.
sincerely yours,
george udov
thanks george! i wish i was really always correct but unfortunately not!
in this case, can i use the nurbs surface to implement all the 3 options: quadratic, cubic and bezier or only one of them? (sorry if it is a stupid question...).
best regards
chudomir
i think yes.
it needs to be looked into, but for first glance the way autocad uses is:
1) take odgenurbsurface object
2) propagate vertices to odgenurbsurface as control points
3) set up a surface degree. for quadratic it is 2, for cubic it is 3, for bezier it is quadratic or cubic depending on control points number (interesting behaviour)
4) set up knot vector - (degree+1) knots in start and end are coincident; distance between other adjacent knots is equal. (in this case nurbs surface is a set of bezier surfaces)
then fit points can be obtained by computevisoline, computeuisoline, odgenurbcurve3d::getsamplepoints().
sincerely yours,
george udov
|