<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html
  SYSTEM "about:legacy-compat">
<html xmlns:mml = "http://www.w3.org/1998/Math/MathML" lang = "en"><head><meta charset = "UTF-8"/><meta name = "copyright" content = "(C) Copyright 2020"/><meta name = "DC.rights.owner" content = "(C) Copyright 2020"/><meta name = "DC.type" content = "reference"/><meta name = "abstract" content = "The Repair/Refinement page lets you define various visual parameters for the translation of native CAD files."/><meta name = "description" content = "The Repair/Refinement page lets you define various visual parameters for the translation of native CAD files."/><meta name = "DC.format" content = "HTML5"/><meta name = "DC.identifier" content = "cns-r-ConversionProperties-RepairRefinement"/><meta name = "DC.language" content = "en"/><link rel = "stylesheet" type = "text/css" href = "../DSDocUI_XML34.css"/><title>Repair/Refinement</title>
<script type = "text/javascript" src = "../DSDocUI_Highlight34.js">
  	/* */
  	</script></head><body onLoad = "highlightSearchTerms();" id = "cns-r-ConversionProperties-RepairRefinement">
<a name = "hj-top"> </a><table class = "table1" id = "table11"><tr><td><table class = "DocHeader"><tr><td class = "DocHeader1" colspan = "2"><h1>Repair/Refinement</h1></td></tr><tr><td class = "DocHeader4" colspan = "2"/></tr><tr><td class = "DocHeader3" colspan = "2"><table class = "DocThemeIntro" id = "table12"><tr><td class = "Intro1Only"><p class = "header"><p class = "abstract"><span class = "shortdesc">The Repair/Refinement page lets you define various visual parameters for the translation of native CAD files.</span>
</p>
<p>This page discusses: </p><ul><li><a href = "#r-Refinement" id = "toc_rg" title = "Refinement settings determine how Composer tessellates (meshes) the model, which affects model accuracy.">Refinement</a></li><li><a href = "#r-Occlusion" id = "toc_rg" title = "Occlusion removes parts from the model based on size or whether the parts are internal and therefore not visible.">Occlusion</a></li><li><a href = "#r-SMGoutput" id = "toc_rg" title = "These options affect saved Composer files.">SMG output</a></li></ul>
</p></td></tr></table></td></tr></table>
<article class = "topic reference nested1" aria-labelledby = "ariaid-title2" id = "r-Refinement"><h2 class = "title topictitle2">Refinement</h2>

<div class = "body refbody"><p class = "abstract">
				<span class = "shortdesc"> Refinement settings determine how Composer tessellates (meshes)
	 the model, which affects model accuracy. 
  </span>

				<p>Set these options to achieve the best compromise between accuracy and file
	 size. 
  </p>
				</p>
<table class = "table frame-none"><caption/><colgroup><col/><col/></colgroup><thead class = "thead">
						<tr class = "row">
							<th class = "entry" id = "r-Refinement__entry__1">Command Name
				</th>
							<th class = "entry" id = "r-Refinement__entry__2">Description
				</th>
						</tr></thead><tbody class = "tbody">
						<tr class = "row">
							<td class = "entry" headers = "r-Refinement__entry__1"><span class = "ph uicontrol">Relative</span>
							</td>
							<td class = "entry" headers = "r-Refinement__entry__2">
								<p>Specifies the triangulation method: 
				  </p>
								<ul class = "ul">
									<li class = "li">
										<span class = "ph uicontrol">Chordal error</span> - All geometry has the
						same chordal error. Chordal error is the distance between the triangles that
						define the geometry in Composer and the edges of the original geometry. When
						you move the slider to 
						<span class = "ph uicontrol">high quality</span>, you decrease the chordal
						error and increase the quality of the assembly. 
						<p>In this image, the black circle is the original geometry.
						  The blue triangles define the geometry in Composer. The chordal error is the
						  distance represented by the red arrows.
						</p>
										<p>
											<br/><img class = "image" src = "../CpsUserImages/ChordalError.png"/><br/>
										</p>
									</li>
									<li class = "li">
										<span class = "ph uicontrol">Normal deviation</span> - All geometry has
						the same normal deviation. Normal deviation is the angle between the normals of
						the edges that define the triangular geometry of Composer. When you move the
						slider to 
						<span class = "ph uicontrol">high quality</span>, you decrease the normal
						deviation and increase the quality of the assembly. 
						<p>In the image, the black circle is the original geometry.
						  The blue triangles define the geometry in Composer. The normal deviation is the
						  angle between the red arrows.
						</p>
										<p>
											<br/><img class = "image" src = "../CpsUserImages/NormalDeviation.png"/><br/>
										</p>
									</li>
								</ul>
								<p>The difference between these two triangulation methods is
					 visible for scenes containing geometry of various sizes. Consider an assembly
					 of one very large cylinder and one very small cylinder.
				  </p>
								<p>With 
					 <span class = "ph uicontrol">Chordal error</span>, because the chordal error
					 is constant, the polygon inscribing the large cylinder has many more sides.
					 This results in the geometry of the large cylinder looking better than the
					 small cylinder.
				  </p>
								<p>
									<br/><img class = "image" src = "../CpsUserImages/ChordalErrorRelative.png"/><br/>
								</p>
								<p>With 
					 <span class = "ph uicontrol">Normal deviation</span>, because the normal
					 deviation is constant, the polygons inscribing both cylinders have the same
					 number of sides. This results in the geometry of the small cylinder looking
					 better than the large cylinder.
				  </p>
								<p>
									<br/><img class = "image" src = "../CpsUserImages/NormalDeviationRelative.png"/><br/>
								</p>
								<p>You can optimize the geometry degradation by moving the slider
					 between 
					 <span class = "ph uicontrol">high quality</span> (for optimum triangulation
					 quality), 
					 <span class = "ph uicontrol">medium</span>, and 
					 <span class = "ph uicontrol">low quality</span>. 
				  </p>
							</td>
						</tr>
						<tr class = "row">
							<td class = "entry" headers = "r-Refinement__entry__1"><span class = "ph uicontrol">Absolute (Advanced users only, use
					 carefully)</span>
							</td>
							<td class = "entry" headers = "r-Refinement__entry__2">
								<p>Defines the triangulation approximations.
				  </p>
								<p>
									<table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent"> This option is recommended for expert
						users only. Configuring absolute refinement is time consuming and should be
						used only when relative refinement produces unacceptable results.
					 </span></td></tr></table>

								</p>
								<p>You can set these three parameters independently. When you set
					 more than one, their effects are combined. 
				  </p>
								<ul class = "ul">
									<li class = "li">
										<span class = "ph uicontrol">Chordal error</span> - Variation in
						millimeters between native geometry CAD and the tessellated model. 
					 </li>
									<li class = "li">
										<span class = "ph uicontrol">Normal deviation</span> - Angle formed
						between the normals of the triangle faces. 
						
									</li>
									<li class = "li">
										<span class = "ph uicontrol">Edge length</span> - Length of the triangle
						edges in millimeters. 
						<p>
											<div class = "note collapse"><span class = "run-in.note">Note:
    		</span><span class = "notecontent"> Not considered for 
							 
												<span class = "ph">SOLIDWORKS</span> files.
						  </span></div>

										</p>
									</li>
								</ul>
								<p>For each parameter, specify values that define the maximum
					 limits. 
				  </p>
							</td>
						</tr>
						<tr class = "row">
							<td class = "entry" headers = "r-Refinement__entry__1"><span class = "ph uicontrol">Enable auto repair (healing is time
					 intensive)</span>
							</td>
							<td class = "entry" headers = "r-Refinement__entry__2">Checks for missing triangles, incorrect holes in the mesh,
				  extra faces, and other discontinuity issues, and attempts to repair problems by
				  adding triangles. This option degrades import speed, so use only when
				  tessellation is poor. To import files without checking for incorrect geometry,
				  clear this option.
				</td>
						</tr>
					</tbody></table></div>
</article><article class = "topic reference nested1" aria-labelledby = "ariaid-title3" id = "r-Occlusion"><p><map name = "FPMap1"><area href = "#hj-top" title = "Back to Top" shape = "rect" coords = "416, 0, 435, 10"/></map><span class = "itemsprite"/></p><h2 class = "title topictitle2">Occlusion</h2>

<div class = "body refbody"><p class = "abstract">
				<span class = "shortdesc">Occlusion removes parts from the model based on size or whether
	 the parts are internal and therefore not visible. 
  </span>

				
				<table class = "table frame-none"><caption/><colgroup><col/><col/><col/></colgroup><tbody class = "tbody">
							<tr class = "row">
								<td class = "entry">
									<br/><img class = "image" src = "../CpsUserImages/ExampleOcclusion1.png"/><br/>
								</td>
								<td class = "entry">
									<br/><img class = "image" src = "../CpsUserImages/ExampleOcclusion2.png"/><br/>
								</td>
								<td class = "entry">
									<br/><img class = "image" src = "../CpsUserImages/ExampleOcclusion3.png"/><br/>
								</td>
							</tr>
							<tr class = "row">
								<td class = "entry">Original Model 
				</td>
								<td class = "entry" colspan = "2">Internal Parts Detected 
				</td>
							</tr>
						</tbody></table></p>
<table class = "table frame-none"><caption/><colgroup><col/><col/></colgroup><thead class = "thead"> 
		<tr class = "row"> 
		  <th class = "entry" id = "r-Occlusion__entry__6">Command Name 
		  </th> 
		  <th class = "entry" id = "r-Occlusion__entry__7">Description 
		  </th> 
		</tr></thead><tbody class = "tbody"> 
		<tr class = "row"> 
		  <td class = "entry" headers = "r-Occlusion__entry__6"><span class = "ph uicontrol">Remove small parts</span> 
		  </td> 
		  <td class = "entry" headers = "r-Occlusion__entry__7">Removes parts smaller than the specified percentage of the total
			 scene size. The calculation uses the volume of a bounding box, not the actual
			 part volume. For example, if you specify 10%, only parts that fit in a bounding
			 box that is 10% of the entire scene are removed. 
		  </td> 
		</tr> 
		<tr class = "row"> 
		  <td class = "entry" headers = "r-Occlusion__entry__6"><span class = "ph uicontrol">Remove internal parts</span> 
		  </td> 
		  <td class = "entry" headers = "r-Occlusion__entry__7">Removes parts that are internal and therefore not visible. 
			 <span class = "ph">Applies to .smg, .smgXml, or .smgProj files
				only.</span>
		  </td> 
		</tr> 
		<tr class = "row"> 
		  <td class = "entry" headers = "r-Occlusion__entry__6"><span class = "ph uicontrol">Apply to</span> 
		  </td> 
		  <td class = "entry" headers = "r-Occlusion__entry__7">(Available when 
			 <span class = "ph uicontrol">Remove internal parts</span> is selected.) Runs
			 occlusion on: 
			 <ul class = "ul"> 
				 
				<li class = "li"> 
				  <span class = "ph uicontrol">Loading View</span> 
				</li>
				<li class = "li"> 
				  <span class = "ph uicontrol">Views</span> 
				</li> 
				<li class = "li"> 
				  <span class = "ph uicontrol">Animation</span> 
				</li> 
				<li class = "li"> 
				  <span class = "ph uicontrol">All</span> 
				</li> 
			 </ul> 
			 <div class = "note collapse"><span class = "run-in.note">Note:
    		</span><span class = "notecontent"> Actors with opacity, displacement, or
				texture-with-transparency property keys are not considered for occlusion. 
			 </span></div>
 
		  </td> 
		</tr> 
		<tr class = "row"> 
		  <td class = "entry" headers = "r-Occlusion__entry__6"><span class = "ph uicontrol">3D</span> 
		  </td> 
		  <td class = "entry" headers = "r-Occlusion__entry__7">(Available when 
			 <span class = "ph uicontrol">Remove internal parts</span> is selected.) Performs
			 occlusion on the 3D model. Snapshots are taken from different points of view.
			 For animation mode, snapshots are taken along the camera animation. Select one
			 of the following: 
			 <ul class = "ul"> 
				<li class = "li"> 
				  <span class = "ph uicontrol">Speed</span> - Uses fewer camera positions
				  resulting in faster computation. 
				</li> 
				<li class = "li"> 
				  <span class = "ph uicontrol">Quality</span> - Uses more camera positions. 
				</li> 
			 </ul>To perform occlusion on the 2D view, clear this option. 
		  </td> 
		</tr> 
		<tr class = "row"> 
		  <td class = "entry" headers = "r-Occlusion__entry__6"><span class = "ph uicontrol">Cut triangles</span> 
		  </td> 
		  <td class = "entry" headers = "r-Occlusion__entry__7">(Available when 
			 <span class = "ph uicontrol">Remove internal parts</span> is selected.) Runs
			 occlusion on actor triangles instead of actors. After analysis, you can remove
			 hidden triangles. Outlines remain visible until the file is reopened. 
		  </td> 
		</tr> 
		<tr class = "row"> 
		  <td class = "entry" headers = "r-Occlusion__entry__6"><span class = "ph uicontrol">Create Selection Set of Occluded Actors</span> 
		  </td> 
		  <td class = "entry" headers = "r-Occlusion__entry__7">Creates a single selection set composed of all the occluded
			 actors. 
			 <div class = "note"><span class = "run-in.note">Note:
			</span><span class = "notecontent">This option lets you check your result manually in Composer
				after the conversion.
			 </span></div>

		  </td> 
		</tr> 
		<tr class = "row"> 
		  <td class = "entry" headers = "r-Occlusion__entry__6"><span class = "ph uicontrol">Remove Occluded Actors</span> 
		  </td> 
		  <td class = "entry" headers = "r-Occlusion__entry__7">Deletes the occluded actors from the resulting Composer file
			 (output file).
			 <table class = "Remark" id = "table132"><tr><td class = "Remark"><span class = "run-in.important">Important:
				</span><span class = "notecontent">This operation cannot be undone. Once the
				occluded actors are deleted from the output file, you will have no way to
				retrieve them. 
			 </span></td></tr></table>

		  </td> 
		</tr> 
		 
	 </tbody></table></div>
</article><article class = "topic reference nested1" aria-labelledby = "ariaid-title4" id = "r-SMGoutput"><p><map name = "FPMap1"><area href = "#hj-top" title = "Back to Top" shape = "rect" coords = "416, 0, 435, 10"/></map><span class = "itemsprite"/></p><h2 class = "title topictitle2">SMG output</h2>
<div class = "body refbody"><p class = "abstract"><span class = "shortdesc">These options affect saved Composer files.</span>
</p>
<table class = "table frame-none"><caption/><colgroup><col/><col/></colgroup><thead class = "thead"><tr class = "row"><th class = "entry" id = "r-SMGoutput__entry__1">Command Name</th><th class = "entry" id = "r-SMGoutput__entry__2">Description</th></tr></thead><tbody class = "tbody"><tr class = "row"><td class = "entry" headers = "r-SMGoutput__entry__1"><span class = "ph uicontrol">Compression</span></td><td class = "entry" headers = "r-SMGoutput__entry__2">Sets the amount of compression in files, which affects model tessellation quality.
<ul class = "ul"><li class = "li">
<span class = "ph uicontrol">Low (high quality)</span> - 32 bytes/point, high measurement quality, large file</li><li class = "li">
<span class = "ph uicontrol">Medium</span> - 16 bytes/point</li><li class = "li">
<span class = "ph uicontrol">High (low quality)</span> - 8 bytes/point, low measurement quality, small file</li></ul>The compression algorithm uses a bounding box defined by its coordinates: xmin, xmax, ymin, ymax, zmin, zmax. This bounding box is subdivided into a number of cubes according to the quality of compression selected:
<ul class = "ul"><li class = "li">Low (high quality): 2^32 * 2^32 * 2^32</li><li class = "li">Medium: 2^16 * 2^16 * 2^16</li><li class = "li">High (low quality): 2^8 * 2^8 * 2^8</li></ul>All tops (xi, yi, zi) of the triangulation are laid out on the tops of the cubes contained in the bounding box.
<div class = "notes collapse"><span class = "run-in.notes">Notes:
    		</span><span class = "notecontent"><p>When saving a file with medium or high compression, you should consider the following:</p><ul class = "ul"><li class = "li">You cannot return to original quality. You must re-import your CAD files if you want to do so.</li><li class = "li">Medium or high compression affects geometry precision. In the case of large parts where most of the precision is taken by the position of the object, little precision is left for elements such as small faces, lines or vertices.</li><li class = "li">Medium or high compression might cause display issues (such as small holes visible in the mesh of a part, overlapping
faces, z-fight, appearance of undesired lines in technical
illustration, etc.) in vector output
generated by the Technical Illustration workshop.</li></ul> <p>To make it short, if geometry precision matters to you, it is recommended to use the <span class = "ph uicontrol">Low (high quality)</span> option.</p></span></div>
</td></tr><tr class = "row"><td class = "entry" headers = "r-SMGoutput__entry__1"><span class = "ph uicontrol">Write normals</span></td><td class = "entry" headers = "r-SMGoutput__entry__2">Saves normal directions for all faces in the file. Composer needs this information to display the outward or outside faces of parts and assemblies. When selected, file size is larger but file load time is shorter because Composer does not have to calculate this information.
A normal to a flat surface is a three-dimensional vector that is perpendicular to the surface. A normal to a non-flat surface at a point "p" on the surface is a vector that is perpendicular to the tangent plane to that surface at "p".</td></tr><tr class = "row"><td class = "entry" headers = "r-SMGoutput__entry__1"><span class = "ph uicontrol">Number of level of detail</span></td><td class = "entry" headers = "r-SMGoutput__entry__2">Specifies how many levels of detail (LODs) are created and saved in 
<span class = "ph filepath filepath">.smgGeom</span> files for each geometry actor during translation. LOD specifies the actor mesh detail. For example, a screw can have a lower LOD in a car context than in an engine context.
This option works with the 
<span class = "ph uicontrol">Relative</span> refinement option; the LOD value is the 
<span class = "ph uicontrol">Relative</span> slider value divided by the LOD number:
<ul class = "ul"><li class = "li">
<span class = "ph uicontrol">1</span> - Creates one LOD using the 
<span class = "ph uicontrol">Relative</span> slider value.</li><li class = "li">
<span class = "ph uicontrol">2</span> - Creates two LODs. For example, if 
<span class = "ph uicontrol">Relative</span> is 0.8, the two LOD values are 0.8 and 0.4.
</li><li class = "li">
<span class = "ph uicontrol">3</span> - Creates three LODs. For example, if 
<span class = "ph uicontrol">Relative</span> is 0.8, the three LODs are 0.8, 0.4, and 0.26.</li></ul><div class = "notes collapse"><span class = "run-in.notes">Notes:
    		</span><span class = "notecontent"><ul class = "ul"><li class = "li">
<span class = "ph uicontrol">Number of level of detail</span> is ignored when the 
<span class = "ph uicontrol">Merge file into one actor per part</span> import option is selected.
</li></ul>In Composer, the 
<span class = "ph uicontrol">Use level of detail</span> option ([Default] Document Properties - Project) specifies what LOD to use when opening a project. You can also load individual parts specifying LOD; in the Assembly tree, right-click a part and select 
<span class = "ph menucascade"><span class = "ph uicontrol">Product</span><abbr title = "and then"> &gt; </abbr><span class = "ph uicontrol">Load Products (Choose LOD)</span></span>.</span></div>
</td></tr></tbody></table></div>
</article></td></tr></table><script type = "text/javascript" src = "../DSDocUI_Bottom34.js">/* */</script></body>
</html>
