Professional Documents
Culture Documents
01.06.2006
01.06.2006
8. Troubleshooting ......................................................................................................................... 17
8.1. Running conversion twice....................................................................................................... 17
8.2. Face set is a combination of two different objects.................................................................. 18
3/18
01.06.2006
1. CADMATIC EXCHANGER
1.1. Overview
01.06.2006
01.06.2006
01.06.2006
01.06.2006
Above is the image of the main window of Cadmatic eXchanger Out. This section
describes all the options that the user can choose.
01.06.2006
skip this layer. The result is much lighter without these primitives which are not actually
needed.
01.06.2006
The recommendation is to use AutoCADs solid primitives for the best conversion
result.
01.06.2006
AutoCAD Cadmatic
Layer0 1 object, sid 0
Block 1
1 object, sid1
Layer1
Conversion
e Block 2
The situation above describes how the mapping is done. The Cadmatic model can not
contain nested blocks. That is the reason for modeling the block structure in the way
shown above. If the AutoCAD model has no block structure, then all the entities are
mapped to the sid to which their layer belongs. This way all the entities in one block are
treated as one Cadmatic object after the conversion. They also belong to the same
system e.g. all the objects in the block 2 belong to the Cadmatic system 1.
01.06.2006
Project databases). If options.txt file is edited directly, all the changes will be lost
(Cadmatic 5.x version) when MDL generation starts.
This configuration object is important for mapping the AutoCAD layers to the Cadmatic
systems. If the user maps several systems, then import options object should contain
information about these systems. Below is an example of the eXchanger (.3DC) import
options object, which contains definitions of 5 different systems.
fpd 2000;bsv 1;hvp PLATE_0MM__-0;mxe 20000;sid 2;;
sid 1-4;sim 5;
sid 5;sim 1;;
sid 6;sim 2;;
sid 7;sim 3;;
sid 8;sim 4;;
Here sid # is the system id, which the user has defined in the map file. sim # tells
what is the real Cadmatic system to which a object with sid # system id will be
mapped. The example above can be read in the following way. System ids from 1 to 4
will be mapped to the Cadmatic system 5. System id 5 will be mapped to the Cadmatic
system 1, system id 6 will be mapped to the Cadmatic system 2 etc.
If user has not defined systems here, then MDL generation may not give the wanted
result.
01.06.2006
5. Known problems
Converting a BODY primitive can create a large face set. This causes a situation
where the converted model is really heavy.
Too large face sets (more than 20 000 edges) have to be split. This generates
several objects from one object. These objects have saw-edged borders
between them.
File name length is limited to 12 character if extension is not counted. Files with
too long file names can not be read into PLANT MODELER.
Layer mapping does not affect the result. This situation might be the result of the
complex usage of AutoCAD layers. As described earlier, the block structure can
not be converted exactly in the same way as the original AutoCAD block
structure, for example Cadmatic can not handle nested blocks. When nested
blocks are used and layers are used, the following layer mapping situations do
not seem to affect the outcome in any way:
o The model contains inserted blocks (Insert block) and these new blocks
are in different layers. Mapping probably does not affect the result. The
reason for this is that if all inserted blocks are in different layers, the
inserted block may contain nested blocks which belong to layer 0. In
other words, in the original DWG, all the blocks belong to the layer 0, and
when this DWG is inserted as a block into a new layer, it contains nested
blocks. Because of the way how primitives are mapped (described
earlier) every block is mapped to the system where layer 0 belongs.
o SOLUTION: When a new block is inserted, it needs to be exploded so that
every block in the layer 0 is exploded. After this, create a new block or
blocks from these exploded primitives so that every block belongs to the
layer which is defined by user.
Like in previous example, the nested blocks can cause problems with AutoCAD
off layers also. Because AutoCAD model can contain blocks, primitives and
layers and there are many ways how these can be used, it is very likely that
using layers and nested blocks cause problems. Assume that following block
structure exists:
13/18
01.06.2006
B1
Layer 1 (off layer)
B2
Layer 2 (on layer)
The example above leads to the situation where two blocks B1 and B2 are mapped to
the Layer 1 and Layer 2. Layer 1 is off layer, in other words, its primitives are hidden, but
B2 is in block B1 and it is in visible Layer 2. Because the way that mapping is done, all
the primitives in block B2 are converted.
14/18
01.06.2006
6. Cadmatic eXchanger In
Cadmatic eXchanger In is a new ObjectARX extension for the existing Cadmatic
eXchanger. To avoid confusion, this document will use the term eXchanger In about
the new module of the eXchanger. The older module will be called as eXchanger Out
module. Basically this new software module works in the same way than Cadmatic
eXchanger Out, but it works the other way around. The main idea is to convert a model,
produced by the Cadmatic Plant Modeller, to the AutoCAD. 3DC file generation in Plant
Modeller requires a licence.
Cadmatic eXchanger In is an ObjectARX application, which requires AutoCAD for the
host application. Supported AutoCAD versions are 2004, 2005, 2006.
All the converted objects are native AutoCAD objects, which usually are AutoCAD solid
objects with few exceptions. Conversion of the model can also extract few attributes
from the 3DC file and attach them to the corresponding AutoCAD objects. For example
Cadmatic system ids are used for naming AutoCAD layers. This feature makes the
conversion result more structured and easier to browse. Basically the conversion result
is exactly the same than the original model was. In some cases, the result (saved DWG
file) might be significantly smaller than the corresponding 3D Dump file.
The user interface of the Cadmatic eXchanger In contains more options than the user
interface of the eXchanger Out module. These details will be explained detailed later in
this document. Below you can see the screenshot of the graphical user interface of the
eXchanger In.
15/18
01.06.2006
7.1. Options
The Options area contains only two options:
- Use Proxy Object to Model 3D Solid
- Quit Conversion on Error
These options are self-explanatory. If the first option is selected then all the Face Set
objects in the 3DC file will be converted to the custom solid objects. A custom solid
object is an object, that is not a native AutoCAD solid, but it acts like it would be.
AutoCAD can display a custom object, but it can not be manipulated in any way if the
host application that has created the custom object is not installed. In this case the host
application is Cadmatic eXchanger In.
The second option is also self-explanatory. If an error occurs during the conversion and
this option is checked, then converter stops the conversion. In some cases, small errors
can be ignored, because they might be irrelevant to the result. Every error that occurs
during the conversion, creates a new log message to the log file.
7.2. Objects
All the object types that 3DC file supports are listed here. The purpose of this selection
area is, that user can select, which object types are going to be converted. In some
cases, this is quite convenient, because sometimes it is not practical to convert all the
objects of the original model. The most of the objects are converted to the AutoCAD
solid objects. See the list below:
01.06.2006
As you can see from the list above, almost every object type is converted to the
AutoCAD solid objects. Face Set object is an exception because there might be face
sets which contains faces that have more than four vertices. In these cases, it is not
possible to create e.g. AcDbPolyfacemesh (native AutoCAD polyfacemesh) object,
because it can only contain faces with three or four vertices. Faces with more than four
vertices are converted to the flat solid objects and then those faces are inserted into a
same block with a polyfacemesh object. The other solution is to use proxy object to
model face sets, but created proxy objects are not native AutoCAD objects. Polylines
are converted to the AcDb3dPolyline objects, which are native AutoCAD 3D polylines.
Eccentric cone is converted to AcDbPolyFaceMesh, because there is no solid object
which support eccentricity by default. So eccentric cones might increase the size of the
conversion result, but usually it doesnt effect to the runtime performance.
This line creates an AutoCAD block with the name +2JO0K2diJIYt2piF6V3Ie0, inserts it to
the location (9321.92, 8674, 53449) with orientation for the x-axis = (0, 1, 0) and for the
y-axis = (-1, 0, 0). The template block +2JO0K2diJIYt2piF6V3Ie0 is on the layer, which is
17/18
01.06.2006
named as System_125. All the objects or blocks which belong to the system 125 are
inserted on the same layer.
Note that it is not possible to define an object id for the created AutoCAD objects,
because AutoCAD assigns them automatically. This way, the system takes care of that
there are no two or more objects with the same object id.
8. Troubleshooting
01.06.2006