.. role:: blue :class: blue Creating a Solid from User Objects ==================================== .. _Create_Solid_From_User_Objects_: .. kernel version: 118061 The :blue:`ImportSolid`\() function is intended for creating a solid from data stored in a custom object container :blue:`ObContainer`. The function constructs the imported solid :blue:`solid` based on a set of ob-structures describing solid geometry and topology and returns an operation completion code of type :blue:`MbeConvResType`. The function signature is as follows: .. code-block:: cpp CONV_FUNC( MbeConvResType ) ImportSolid( c3d::SolidSPtr & solid, std::shared_ptr obContainer, IConvertorProperty3D * prop, IProgressIndicator * indicator = nullptr ); Function parameters: **solid** -- the imported solid body created from the data stored in the container; **obContainer** -- the custom object container :blue:`ObContainer`; **prop** -- a pointer to the converter properties interface implementation :blue:`IConvertorProperty3D`; **indicator** -- a pointer to the process progress indicator :blue:`IProgressIndicator` (can be *nullptr* if progress tracking is not required). The :blue:`ObContainer` container is filled with user data represented by a set of ob-structures describing solid geometry and topology. After it is filled, the container is passed to the :blue:`ImportSolid`\() function, which creates a solid model from the source data. The function fixes some typical errors specific to import from various formats and also performs stitching and merging of similar faces; the behavior is configured in the standard way through :blue:`IConvertorProperty3D`. If questions or errors arise on the user side when using this functionality, the source data can be transferred to the technical support team as a debug text file generated by the :blue:`ObContainer::WriteIntoFile`\() method.