Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

developer:onblockscalenonuniform [2015/09/14]
127.0.0.1 external edit
developer:onblockscalenonuniform [2015/11/25] (current)
sandy
Line 1: Line 1:
 ======Reading Instance References with Non-Uniform Scales====== ======Reading Instance References with Non-Uniform Scales======
 > **Developer:​** //​[[developer:​opennurbs:​home|openNURBS]]//​ > **Developer:​** //​[[developer:​opennurbs:​home|openNURBS]]//​
-> **Summary:​** //Discusses non-uniform scaling issues when using the openNURBS toolkit.//+> **Summary:​** //Discusses non-uniform scaling issues when using the openNURBS toolkit//
  
 =====Question===== =====Question=====
-In Rhino, I can insert an instance of a block and give it a non-uniform scale (transformation). But, when I read the model, using the openNURBS toolkit, and try to "explode" ​the block into its geometric form, the geometry is no longer non-uniformly scaled.+In Rhino, I can insert an instance of a block and give it a non-uniform scale (transformation). But, when I read the model, using the openNURBS toolkit, and try to //explode// the block into its geometric form, the geometry is no longer non-uniformly scaled.
  
 =====Answer===== =====Answer=====
-Not all ON_Geometry-derived classes ​can be can be accurately modified with "squishy" ​transformations like projections,​ shears, ​an non-uniform scaling. For example, if you were to apply a non-uniform scale to a circle, which is represented by an ON_ArcCurve curve, the resulting geometry is no longer a circle.+Not all ON_Geometry-derived classes can be accurately modified with //squishy// transformations like projections,​ shears, ​and non-uniform scaling. For example, if you were to apply a non-uniform scale to a circle, which is represented by an ON_ArcCurve curve, the resulting geometry is no longer a circle.
  
-When exploding an instance reference into its geometric form, you will want to first test to see if the the instance reference'​s transformation is a similarity transformation. This can be done by using **ON_XForm::​IsSimilarity()**. See opennurbs_xform.h for more information.+When exploding an instance reference into its geometric form, first test to see if the instance reference'​s transformation is a similarity transformation. This can be done by using **ON_XForm::​IsSimilarity()**. See opennurbs_xform.h for more information.
  
-If the transformation is not a similarity, then you should ​convert the geometry into a form that can be accurately modified. This can be done by using the **ON_Geometry::​MakeDeformable()** override on the geometric object.+If the transformation is not a similarity, then convert the geometry into a form that can be accurately modified. This can be done by using the **ON_Geometry::​MakeDeformable()** override on the geometric object.
  
 For example: For example:
Line 29: Line 29:
 </​code>​ </​code>​
  
-**[[http://​wiki.mcneel.com/​_media/​legacy/​en/​opennurbs_explode_block_sample.zip|Download openNURBS sample code]]**+**[[http://​wiki.mcneel.com/​_media/​legacy/​en/​opennurbs_explode_block_sample.zip|Download openNURBS sample code.]]**
  
 \\ \\
developer/onblockscalenonuniform.txt ยท Last modified: 2015/11/25 by sandy