Site Tools


Differences

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

Link to this comparison view

ko:labs:archcut [2015/09/14]
ko:labs:archcut [2020/08/14] (current)
Line 1: Line 1:
 +====== Rhino 4.0 용 플러그인 ArchCut ======
 +
 +> **Summary:** //Rhino 4.0 용 단면/패널 작업 플러그인. //[[http://download.mcneel.com/download_rel.asp?rel=244|2007년 3월 7일자 ArchCut 다운로드]]////
 +//**Critical:**//ArchCut 플러그인을 로드하기 전에 //[[http://wiki.mcneel.com/_media/legacy/en/vcredist_x86.exe|Microsoft의 runtime libraries를 다운로드]]// //하여 설치하시기 바랍니다.//
 +
 +
 +\\
 +{{:legacy:en:panel.PNG}}
 +\\
 +
 +=====다운로드=====
 + **[[http://download.mcneel.com/download_rel.asp?rel=244|ArchCut_Plug-in of 7-March-2007]]** //(works with the released Rhino4 and current [[http://www.rhino3d.com/4/beta.htm|Rhino4 BETA]])// 
 +
 + //ArchCut Commands [[http://wiki.mcneel.com/_media/legacy/en/ArchCut_Tools_Feb14_2007.zip|Toolbar]]// 
 + //3DM Sectioning [[http://wiki.mcneel.com/_media/legacy/en/ArchCut_Example.3dm|Example]]// 
 + //Sectioning Report [[http://wiki.mcneel.com/_media/legacy/en/ArchCut_report.zip|Example]]// 
 + //Sections File Format [[http://wiki.mcneel.com/_media/legacy/en/ArchCut_LoadFormat.zip|Example]]// (to load section names and distances) 
 + //Create Sections [[http://wiki.mcneel.com/_media/legacy/en/ArchCut_Create1.zip|(short clip)]]// 
 + //Create, View & Update Sections [[http://wiki.mcneel.com/_media/legacy/en/ArchCut_Create_View_Update.zip|(short clip)]]// 
 + //Scripting Help Document// //[[http://wiki.mcneel.com/_media/legacy/en/ArchCutScripting_Feb6_2007.zip|(word file .doc)]]// //[[http://wiki.mcneel.com/_media/legacy/en/ArchCutScripting_Feb6_2007.pdf|(PDF file)]]// //[[http://wiki.mcneel.com/_media/legacy/en/ArchCutHelp_March7_2007.zip| (.CHM and .DEC files)]]// 
 +\\
 +
 +----
 +=====Contents=====
 +====Sectioning Commands====
 +Tools to import sections (names/locations), create sections, update, 2D layout and generate area report.  Sections data is saved to document and are updatable when model changes.
 +
 +  * [[#ArchCut_Create]]
 +  * [[#ArchCut_CreateArray]]
 +  * [[#ArchCut_Update]]
 +  * [[#ArchCut_Report]]
 +  * [[#ArchCut_Layout]]
 +  * [[#ArchCut_NestLayout]]
 +  * [[#ArchCut_View]]
 +  * [[#ArchCut_ClearView]]
 +  * [[#ArchCut_MoveSections]]
 +  * [[#How to Export]]
 +  * [[#How to Display Sections]]
 +  * [[#How to Delete and Rename Sections]]
 +  * [[#Sectioning Wish List]]
 +====Paneling Commands====
 +Paneling tools support a variety of paneling algorithms ranging from directional paneling to completely random paneling.
 +
 +  * [[#ArchCut_Divide]]
 +  * [[#ArchCut_Paneling_Dir]]
 +  * [[#ArchCut_PanelingUV_Num]]
 +  * [[#ArchCut_PanelingUV_Dis]]
 +  * [[#ArchCut_SubPaneling]]
 +  * [[#ArchCut_RandomPaneling]]
 +  * [[#ArchCut_PanelingUpdate]]
 +  * [[#Paneling Wish List]]
 +
 +====Scripting====
 +ArchCut supports scripting mainly to allow custom pattern definition and also to make plug-in methods available for Rhino scripting developers
 +
 +  * [[#Custom Patterns for Paneling]]
 +
 +====Links====
 +  * [[rajaa@mcneel.com|Contact the developer]] for comments and feedback
 +  * [[http://www.en.na.mcneel.com/support.htm|McNeel Technical Support]]
 +  * [[labs:rhinohomelabs|McNeel tools for Rhino4]]
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +====ArchCut_Create command:====
 +\\
 +
 +> **Flow:** ////
 +  * **Select objects to section. Press Enter to select all visible** ( //Dir=CPlaneX  Replace=Yes  AutoNaming=Yes  LoadFromFile=No// ):
 +  * **Place section. Press Enter when done** ( Flip=No ):
 +\\
 +
 +> **Options:** ////
 +  * **Dir**: ( //CPlaneX , CPlaneY, Pick// ) - Set section line direction
 +  * **Replace**: If a section (layer) with same name exists, then delete the content of the old one and replace with the new.
 +  * **Name=SEC**: Naming format is "SEC_01", "SEC_02", etc.
 +  * **LoadFromFile**: If (Yes), user gets section names and their distance from a 0.0 base point, from a .txt, .dat or .csv file (comma separated). (//[[http://wiki.mcneel.com/_media/legacy/en/ArchCut_LoadFormat.zip|Sample File Format]]// )
 +  * **Flip**: Flips the direction of the section (makes difference is "Layout" view)
 +  * **DetectSolids**: an option to detect solids (if cutting through a solid, a surface is generated alongside intersection curve)
 +\\
 +
 +> **Notes:** ////
 +  * The plugin maintains "Sections Table" (ST):
 +    * ST is saved to the document.  That is sections data is carried from one session to the other.
 +    * ST keeps track of each section: layer, section plane, sectioned objects (or all visible)
 +  * Each section plane is represented as hidden clipping plane object in the section layer, user can make visible and edit.
 +  * Section curves are given the name of the layer from which the sectioned object comes from and name of sectioned object (**LayerName_ObjectName**).  This helps sorting curves by objects when reporting.
 +  * Section curves and surfaces take the properties of objects they come from.
 +  * Section curves take the attributes of object they section if set to **ByObject**, However if **ByLayer** then take the attributes of that layer.
 +  * Can not section through meshes
 +  * Supports sectioning through blocks
 +
 +\\
 +{{:legacy:en:ArchCut_create.PNG}}
 +
 +\\
 +\\
 +
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_CreateArray command:====
 +Create array of sections.  User defines spacing and number of sections
 +
 +\\
 +
 +> **Options:** ////
 +  * **Dir**: ( //CPlaneX , CPlaneY, Pick// ) - Set section line direction
 +  * **Replace**: If a section (layer) with same name exists, then delete the content of the old one and replace with the new.
 +  * **Name**: Enter sections name.  Default name is "SEC" Names take the format "SEC_01, SEC_02, etc".
 +  * **NumOfSections**: Number of sections
 +  * **Spacing**: distance between sections
 +  * **DetectSolids**: an option to detect solids (if cutting through a solid, a surface is generated alongside intersection
 +  * **Flip**: Flips the direction of the section
 +  * **Reverse**: Reverse direction vector
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_Update command:====
 +Updates all sections.
 +
 +\\
 +
 +> **Notes:** ////
 +  * The command uses section plane and the list of sectioned objects (or all visible) to create new section curves and replace old content.
 +  * User can edit the following and will be updated using the command:
 +    * Sectioned objects (the model)
 +    * Section layer name through layer table
 +    * Section plane - hidden in section layer. user can make it visible and move.
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +====ArchCut_Report command:====
 +\\
 +  * Creates a .csv file that lists sections, SUM area of closed curves, SUM perimeter and SUM of surfaces area sorted by sections and names (//[[http://wiki.mcneel.com/_media/legacy/en/ArchCut_report.zip|Sample Report]]// )
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_Layout command:====
 +\\
 +
 +> **Flow:** ////
 +  * **(Dialog)** ask to select sections.
 +  * **Placement point. Press Enter to project in-place** ( Grip=Center  ApplyToAll=No ): Grip
 +  * **Grip** <Center> ( Center  Min  Max ): Min
 +\\
 +
 +> **Options:** ////
 +  * **Grip** <Center> ( Center  Min  Max ): Base point relative to section bounding box.
 +  * **ApplyToAll**: if (Yes), Grip and placement point are applied to all sections without prompting the user for a placement point for each section.
 +\\
 +
 +> **Notes:** ////
 +  * Creates new layer for each layout. Layer name looks like: "SectionName"_Layout.
 +  * It maps sections to world_xy_plane.
 +  * Calling **ArchCut_Layout** deletes old layouts and place new ones.
 +  * Projecting in place ensure layouts to properly overlap.
 +
 +\\
 +{{:legacy:en:ArchCut_layout.PNG}}
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_NestLayout command:====
 +\\
 +
 +> **Flow:** ////
 +  * **(Dialog)** ask to select sections.
 +\\
 +
 +> **Notes:** ////
 +  * Creates layouts and put in current layer with name tags.
 +  * All layouts are placed in the +,+ quarter along the world x-axis (next to one another).
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_View command:====
 +\\
 +
 +> **Flow:** ////
 +  * Select sections and assign them to viewports.
 +\\
 +
 +> **Notes:** ////
 +  * In the following example, section is added to the perspective view
 +  * For hidden-lines view try the new Rhino4 [[labs:techdraw|TechnicalDrawing Plugin]]
 +\\
 +{{:legacy:en:ArchCut_view.PNG}}
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_ClearView command:====
 +\\
 +
 +> **Flow:** ////
 +  * Select viewport to delete selected sections from that viewport.
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_MoveSections command:====
 +\\
 +
 +> **Flow:** ////
 +  * Move sections and update sections curves.
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +===How to Export:===
 +\\
 +
 +> **Macro:** //SelLayer //Export
 +  * You can select one or all layers and export to any supported file format.
 +  * To export sections or their layouts, use the above macro (copy and paste to command line)
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====How to Display Sections:====
 +\\
 +
 +> **Macro:** //PrintDisplay State=On //Enter
 +  * Section curves are assigned a print width = 0.5 (default=0.13) to appear thick.
 +  * To be able to view the thicker section curves, use the above macro (also available in the toolbar).
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====How to Delete and Rename Sections:====
 +\\
 +  * **Delete**: Delete layer of the section.
 +  * **Rename**: Change layer name.
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====Sectioning Wish List: ... You welcome to add to this list====
 +\\
 +  * Make2D for Layout... If you need it for viewing, try the new Rhino4 [[labs:techdraw|TechnicalDrawing]] Plug-in
 +  * Option for dynamic update of sections
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_Divide command:====
 +\\
 +
 +> **Flow:** ////
 +  * Select curves to divide by number or distance.  If dividing by distance, there is option to round up or down.
 +\\
 +
 +> **Options:** ////
 +  * **Method**: ( //ByNumber, ByDistance// ).  If ByDistance, user can round up or down to cover all curve length.
 +  * **SpanNum**: Number of spans
 +  * **SpanDistance**: Length of each span.  If it doesn't divide evenly, then **Rounding** option can be used.
 +\\
 +
 +> **Notes:** ////
 +  * For each curve, user is notified of the final number of spans and length of each span in the output window.
 +  * User is prompted to enter dividing points name.  Dividing points are ordered using the format "Name_Row(0,1,...)_Col(0,1,...)"
 +  * Has History support
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_Paneling_Dir command:====
 +\\
 +
 +> **Flow:** ////
 +  * Select object to create a base grid panels.
 +\\
 +
 +> **Options:** ////
 +  * **DirectionOfCuts**: ( //CPlaneX, CPlaneY, Pick// ) - User defines paneling direction relative to CPlane.
 +  * **DistanceBetweenCuts**: Distance separating cuts (section plates)
 +  * **SplitMethod**: Either "ByNumber" or "ByDistance" If **SplitMethod=ByNumber**, then user can define "NumOfPanels_PerCut" If **SplitMethod=ByDistance**, then user define "PanelLength" and "RoundingMethod".
 +  * **PanelShape**: Either //Straight// or //Pull//. Straight creates linear panels while in Pull, panels follow surface shape.
 +  * **Pattern**: Paneling pattern. For prototype purposes, eight patterns are available
 +  * **CalcEdges**: Calculate,serialize and output paneling edges.
 +  * **CalcFaces**: Calculate, serialize and output paneling faces.
 +  * **CalcMesh**: Calculate the mesh that makes paneling faces.
 +
 +\\
 +
 +> **Notes:** ////
 +  * User can panel polysurfaces. Difference in UV direction among faces does not affect result.
 +  * If you like to change the corner where paneling starts, you can use **Dir** command to swap UV.
 +  * Paneling point grid, paneling edges and paneling faces are grouped and added to document in new layer.
 +  * All paneling points, edges and faces are tagged (named).
 +  * Works with trimmed surfaces.
 +\\
 +{{:legacy:en:paneling_dir.PNG}}
 +\\
 +
 +\\
 +{{:legacy:en:patterns1.GIF}}
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_PanelingUV_Num command:====
 +\\
 +
 +> **Flow:** ////
 +  * Select object to create a variety of structural panels.  The command is sensitive to UV.
 +\\
 +
 +> **Options:** ////
 +  * **U_Num**: Number of panels in **U** direction.
 +  * **V_Num**: Number of panels in **V** direction.
 +  * **PanelShape**: Either //Straight// or //Pull//. Straight creates linear panels while in Pull, panels follow surface shape.
 +  * **Pattern**: Paneling pattern. For prototype purposes, eight patterns are available
 +  * **CalcEdges**: Calculate,serialize and output paneling edges.
 +  * **CalcFaces**: Calculate, serialize and output paneling faces.
 +  * **CalcMesh**: Calculate the mash that makes paneling faces.
 +\\
 +
 +> **Notes:** ////
 +  * Paneling point grid, paneling edges and paneling faces are grouped and added to document in new layer.
 +  * All paneling points, edges and faces are tagged (named).
 +  * Works with trimmed surfaces.
 +\\
 +{{:legacy:en:paneling_trim_num1.PNG}}
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_PanelingUV_Dis command:====
 +\\
 +
 +> **Flow:** ////
 +  * Select object to create a variety of structural panels.  The command is sensitive to surface UV directions.
 +\\
 +
 +> **Options:** ////
 +  * **U_Dis**: Length of panels in **U** direction.
 +  * **V_Dis**: Length of panels in **V** direction.
 +  * **Round**: User can choose round the length of each panel to fit surface.
 +  * **RoundingMethod**: Up or down.
 +  * **PanelShape**: Either //Straight// or //Pull//. Straight creates linear panels while in Pull, panels follow surface shape.
 +  * **Pattern**: Paneling pattern. For prototype purposes, eight patterns are available
 +  * **CalcEdges**: Calculate,serialize and output paneling edges.
 +  * **CalcFaces**: Calculate, serialize and output paneling faces.
 +  * **CalcMesh**: Calculate the mash that makes paneling faces.
 +\\
 +
 +> **Notes:** ////
 +  * Exact distances are achieved only when iso-curves are parallel in U & V directions
 +  * Paneling point grid, paneling edges and paneling faces are grouped and added to document in new layer.
 +  * All paneling points, edges and faces are tagged (named).
 +  * Works with trimmed surfaces.
 +\\
 +{{:legacy:en:paneling_trim_dis.PNG}}
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +  * Following is a comparison among different directional paneling commands:
 +\\
 +{{:legacy:en:directional_paneling.PNG}}
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_SubPaneling command;====
 +\\
 +
 +> **Flow:** ////
 +  * Select base surface, any number of closed polylines with end points on surface.
 +\\
 +
 +> **Options:** ////
 +  * **Degree**: Number of subdividing steps.
 +  * **Method**: All/SubsOnly/MainOnly. Different methods of sub-paneling as in the image.
 +  * **PanelShape**: Straight or Pull
 +\\
 +
 +> **Notes:** ////
 +  * Has History support
 +
 +\\
 +{{:legacy:en:subpaneling2.PNG}}
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +
 +====ArchCut_RandomPaneling command:====
 +\\
 +
 +> **Flow:** ////
 +  * Select base surface, any number of points on surface or have the command generate points for you.
 +\\
 +
 +> **Options:** ////
 +  * **GenerateRandomly**: random generation of points.
 +  * **PointCount**: number of points.  Aprrears only when //GenerateRandomly=Yes//
 +  * **PanelShape**: Straight or Pull
 +\\
 +
 +> **Notes:** ////
 +  * Random paneling algorithm finds best solution for smallest triangles starting from a central location of the grid point set.
 +  * Random paneling doesn't take into account shorter distances across the seam (in closed surfaces)
 +  * Surface is reparameterized to minimize distortion.
 +  * Has History support
 +
 +\\
 +{{:legacy:en:rand1.PNG}}
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +====ArchCut_PanelingUpdate command:====
 +Updates all paneling.
 +
 +\\
 +
 +> **Notes:** ////
 +  * If the base paneling surface get edited, user can call this command to update paneling.
 +  * Paneling data is saved to document
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +====Custom Patterns for Paneling:====
 +\\
 +Use ArchCut script functions to define custom patterns for paneling and access many ArcCut methods using [[developer:rhinoscript|RhinoScript]].
 +
 +**Download Scripting Documentation**:
 +
 +  * //[[http://wiki.mcneel.com/_media/legacy/en/ArchCutScripting_Feb6_2007.zip|Scripting Help - word file]]//
 +  * //[[http://wiki.mcneel.com/_media/legacy/en/ArchCutScripting_Feb6_2007.pdf|Scripting Help - PDF file]]//
 +  * //[[http://wiki.mcneel.com/_media/legacy/en/ArchCutHelp_March7_2007.zip|Scripting Help - CHM and .DEC files]]// - If you like to view ArchCut methods and access its help from within [[developer:monkeyforrhino4|Monkey RhinoScript Editor]] , then please save .chm and .dec files in the ../Monkey/Resources folder.
 +\\
 +{{:legacy:en:Custom.PNG}}
 +
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +====Paneling Wish List: ... You're welcome to add to this list====
 +\\
 +  * Create custom patterns interactively
 +\\
 +\\
 +
 +| [[#Back to top]]|
 +
 +----
 +[[rajaa@mcneel.com|E-mail the developer your questions & feedback]]
 +
 +Last updated: **January 10, 2007**
 +
 +
 +
 +
 +