高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】creating a sat file out of dxf solid file
creating a sat file out of dxf solid file
creating a sat file out of dxf solid file
i am trying to create a sat file out of a simple dxf file containing one solid box.
i am using the "oddb3dsolid::acisout" function and then parse through the memory stream to write the ascii file myself.
the problem is that the sat file created is not a legal sat file.
the "end of file" is missing and the version in the header is incorrect.
can someone tell me how to do this correctly?
is there a more simple way or method to get the acis data to sat file?
thanks,
ilan m.
do you pass a version as second parameter to acisout()?
by default it saves the data as it's stored in dwg/dxf file.
sergey slezkin
version..
[[left]
quote=sergey slezkin]do you pass a version as second parameter to
acisout()?
by default it saves the data as it's stored in dwg/dxf file.[/quote]
yes, i pass the version (kaf_ascii_800) in to the function.
it does not matter - it always return 20800 version.
i suspect it is the version where autocad left acis kernel for their own development...
no matter which version type i use - i always get the 20800 as result. this is not a valid acis version.
i tried using "odacisfileptr" but it is an abstruct class not usable (which should do the jobaccording to the example code - that is not compilable...).
do you have any clue????[/left
]
does your application use modelergeometry ?
have you it declared ?
odrx_declare_static_module_entry_point(modelermodu le);
you could see mfcapp application as example of modelergeometry using.
acissavedialog functionality save information from body\region\solid to different version of sat.
quote:
originally posted by alexander rumyantsev
does your application use modelergeometry ?
have you it declared ?
odrx_declare_static_module_entry_point(modelermodu le);
you could see mfcapp application as example of modelergeometry using.
acissavedialog functionality save information from body\region\solid to different version of sat.
yes,
i have seen the most logical use i can find in the file "debugcommand.h".
there objects odacisdata and odacisfile are used to save (with version control) the entity (solid, body, region) to a sat file.
it seems very good in the file, but it is not compilable for two reasons:
1. acisexport.h is missing (from example package)
2. both classes above (data and file) are abstract classes that cannot be used directly.
is there a more trivial way or am i missing something?
look at cacissavedialog::cacissavedialog(oddbobjectid &id, ...) in acissavedialog.cpp.
it get object by id and fill odarray<odmodelergeometryptr> m_bodies.
next step is m_bodies.first()->out(.....);
note : dont forget getmodelergeometrycreatorservice() call. it connect modelergeometry.drx with database !!!!
note 2 : all for 1.11.
quote:
originally posted by alexander rumyantsev
look at cacissavedialog::cacissavedialog(oddbobjectid &id, ...) in acissavedialog.cpp.
it get object by id and fill odarray<odmodelergeometryptr> m_bodies.
next step is m_bodies.first()->out(.....);
note : dont forget getmodelergeometrycreatorservice() call. it connect modelergeometry.drx with database !!!!
note 2 : all for 1.11.
i have no such file (acissavedialog) or similar.
modelermodule is unrecognized and exists nowhere in my example files.
quote:
originally posted by ilan
i have no such file (acissavedialog) or similar.
modelermodule is unrecognized and exists nowhere in my example files.
i have downloaded the new update of opendesign libs for c++ and tried it again.
now it works! i can finally get the acis data out of an entity in the desired versino.
now, i am facing a new problem:
if i wish to get all entities into a single sat file - dump all solid data into sat file, how can i do it in the best manner?
currently, i can get one entity at a time, save it to sat and then create a sat file out of all the entities saved before - a very big overhead...
is there an easier way to dump all data into a single sat file?
this functionality is not implemented yet. we have functionality to break multibody sat to set of single body (modelercreator) only.
is it critical for you?
quote:
originally posted by alexander rumyantsev
this functionality is not implemented yet. we have functionality to break multibody sat to set of single body (modelercreator) only.
is it critical for you?
well, my goal is to extract all solid data from dxf/dwg files into sat file.
if you can direct me to the best and simplest way to do it, i would appreciate it.
otherwise - i do need this functionality.
i am not very familiar with your libs and data.
if there is another way to do it - please let me know.
there is no way to save data from set of entities to single sat in 1.11 ddt. one to one only.
we are going to implement this in 1.12.
last edited by sslezkin; 12th july 2004 at 10:48 pmfff">.
|