User Tools

Site Tools


Sidebar

Home



Knowledge Base


Guides & Tutorials

Projects

Samples

  G-Code
   Square
   Arcs
   Mickey
   Arrow
   Bear
   Ball In Cage

  Dialogs
   Square
   Rounded Square
   Guess The Number

  O-Words
   Polygon

  Subprocedures
   Lissajous

   Lissajous (sub..endsub..call)
   Lissajous (call..sub..endsub)

   Lissajous (exec..O..M99)

   Lissajous (G65)
   Lissajous (G65 with GOTO)

   Palindrome
   PrimeFactors
   Fibonacci

  Splines
   Butterfly

  G06
   arrchr

  Dynamic
   Clock
   DateTime

  Python
   Lissajous Python

  3D Models
   3D CNC
   3dModel_TableA.txt

  Notepad++ Plugin
   Examples


kb:samples:3d_cnc

3D CNC

Full tutorial for this 3D model is here:
Use 3D object visualization in TNG software

CNC.txt
<?xml version="1.0" encoding="UTF-8"?>
<Model>
  <Expr>
offset_x = -35;
offset_y = -5;
offset_gantry_y = 22;
offset_gantry_z = 5;
  </Expr>
  <!-- Main 'model' assembly -->
  <Assembly>
    <Items>
      <!-- Spindle assembly -->
      <Assembly Name="Spindle">
        <Items>
          <Include Filename="Spindle.txt"/>
        </Items>
      </Assembly>
 
      <!-- Table assembly -->
      <Assembly Name="Table">
        <Transform X="offset_x" Y="offset_y"/>
        <Items>
          <Include Filename="Table.txt"/>
        </Items>
      </Assembly>
 
      <!-- Gantry assembly -->
      <Assembly Name="Gantry">
        <Transform X="offset_x" Y="offset_y+offset_gantry_y"/>
        <Items>
          <Include Filename="Gantry.txt"/>
        </Items>
      </Assembly>
 
      <!-- Carriage X assembly -->
      <Assembly Name="CarriageX">
        <Transform Y="offset_y+offset_gantry_y"/>
        <Items>
          <Include Filename="CarriageX.txt"/>
        </Items>
      </Assembly>
 
      <!-- Carriage Z assembly -->
      <Assembly Name="CarriageZ">
        <Transform Y="offset_y+offset_gantry_y" Z="offset_gantry_z"/>
        <Items>
          <Include Filename="CarriageZ.txt"/>
        </Items>
      </Assembly>
 
    </Items>
  </Assembly>
</Model>
Table.txt
<?xml version="1.0" encoding="UTF-8"?>
<Model>
  <Expr>
table_sizex = 240;
table_sizey = 440;
table_thick = 15;
table_height = 40;
  </Expr>
  <Assembly Name="Table">
    <Items>
      <Part Name="Top">
        <Color Value="ffaaaacc"/>
        <Cuboid X="0" Y="0" Z="-0.5" W="table_sizex" L="table_sizey" H="-table_thick"/>
      </Part>	
      <Part Name="Front">
        <Color Value="ff9999bb"/>
        <Cuboid X="0" Y="0" Z="-table_thick" W="table_sizex" L="table_thick" H="-table_height"/>
      </Part>
      <Part Name="Back">
        <Color Value="ff9999bb"/>
        <Cuboid X="0" Y="table_sizey" Z="-table_thick" W="table_sizex" L="-table_thick" H="-table_height"/>
      </Part>	
    </Items>
  </Assembly>
</Model>
Gantry.txt
<?xml version="1.0" encoding="UTF-8"?>
<Model>
  <Expr>
gantry_sizey = 100;
gantry_top = 180;
gantry_bottom = -table_thick - table_height/2;
gantry_gap = 24;
gantry_thick = 12;
gantry_posl = 0 - gantry_gap;
gantry_posr = table_sizex + gantry_gap;
gantry_sizex = table_sizex + 2*gantry_gap;
 
gantry_clear = 80;
gantry_rail_size = 8;
gantry_rail_posy = gantry_sizey - gantry_thick - 2*gantry_rail_size;
gantry_rail_posz1 = gantry_clear + 10;
gantry_rail_posz2 = gantry_top - 10;
  </Expr>
  <Assembly Name="Gantry">
    <Move Y="1"/>
    <Items>
      <Part Name="Left">
        <Color Value="ff8e6767"/>
        <Poly 
          X1="gantry_bottom" Y1="gantry_bottom" 
          X2="gantry_bottom + 0.3*gantry_top" Y2="gantry_bottom"
          X3="gantry_top" Y3="0.4*gantry_sizey"
          X4="gantry_top" Y4="gantry_sizey"
          X5="gantry_bottom" Y5="gantry_sizey"
          Reverse="false"
          Size="-gantry_thick " X="gantry_posl" Y="0" Z="0" RY="-90"/>
      </Part>	
 
      <Part Name="Right">
        <Color Value="ff8e6767"/>
        <Poly 
          X1="gantry_bottom" Y1="gantry_bottom" 
          X2="gantry_bottom + 0.3*gantry_top" Y2="gantry_bottom"
          X3="gantry_top" Y3="0.4*gantry_sizey"
          X4="gantry_top" Y4="gantry_sizey"
          X5="gantry_bottom" Y5="gantry_sizey"
          Reverse="false"
          Size="+gantry_thick" X="gantry_posr" Y="0" Z="0" RY="-90"/>
      </Part>
 
      <Part Name="Back">
        <Color Value="ff8e6767"/>
        <Cuboid X="-gantry_gap" Y="gantry_sizey" Z="gantry_clear" W="gantry_sizex" L="-gantry_thick" H="gantry_top - gantry_clear"/>
      </Part>
 
      <Part Name="Rail">
        <Color Value="ff008080"/>
        <Cylinder X="gantry_posl" Y="gantry_rail_posy" Z="gantry_rail_posz1" R1="gantry_rail_size" R2="gantry_rail_size" Size="gantry_sizex" RY="90"/>
      </Part>
 
      <Part Name="Rail">
        <Color Value="ff008080"/>
        <Cylinder X="gantry_posl" Y="gantry_rail_posy" Z="gantry_rail_posz2" R1="gantry_rail_size" R2="gantry_rail_size" Size="gantry_sizex" RY="90"/>
      </Part>
 
    </Items>
  </Assembly>
</Model>
CarriageX.txt
<?xml version="1.0" encoding="UTF-8"?>
<Model>
  <Expr>
carriagex_sizex = 90;
carriagex_sizey = 30;
carriagex_sizez = 115;
 
carriagex_bot = gantry_clear;
carriagex_top = carriagex_bot + carriagex_sizez;
carriagex_posy = gantry_sizey - gantry_thick - 2;
 
carriagex_arm_posy = carriagex_posy-carriagex_sizey;
carriagex_arm_sizey = 30;
carriagex_arm_sizez = 10;
 
carriagex_rail_size = 6;
carriagex_rail_posy = carriagex_arm_posy - carriagex_arm_sizey/2;
carriagex_rail_offx = 1.5*carriagex_rail_size;
  </Expr>
  <Assembly Name="Carriage X">
    <Move X="1" Y="1"/>
	<Transform X="-carriagex_sizex/2"/>
    <Items>
      <Part Name="Block">
        <Color Value="ffaaaacc"/>
        <Cuboid X="0" Y="carriagex_posy" Z="carriagex_top" W="carriagex_sizex" L="-carriagex_sizey" H="-carriagex_sizez"/>
      </Part>
 
      <Part Name="Top">
        <Color Value="ff9999bb"/>
        <Cuboid X="0" Y="carriagex_arm_posy" Z="carriagex_top" W="carriagex_sizex" L="-carriagex_arm_sizey" H="-carriagex_arm_sizez"/>
      </Part>	
      <Part Name="Bottom">
        <Color Value="ff9999bb"/>
        <Cuboid X="0" Y="carriagex_arm_posy" Z="carriagex_bot" W="carriagex_sizex" L="-carriagex_arm_sizey" H="+carriagex_arm_sizez"/>
      </Part>
 
      <Part Name="Rail">
        <Color Value="ff008080"/>
        <Cylinder X="0+carriagex_rail_offx" Y="carriagex_rail_posy" Z="carriagex_top" R1="carriagex_rail_size" R2="carriagex_rail_size" Size="-carriagex_sizez"/>
      </Part>	
      <Part Name="Rail">
        <Color Value="ff008080"/>
        <Cylinder X="carriagex_sizex-carriagex_rail_offx" Y="carriagex_rail_posy" Z="carriagex_top" R1="carriagex_rail_size" R2="carriagex_rail_size" Size="-carriagex_sizez"/>
      </Part>
 
    </Items>
  </Assembly>
</Model>
CarriageZ.txt
<?xml version="1.0" encoding="UTF-8"?>
<Model>
  <Expr>
carriagez_sizex = carriagex_sizex;
carriagez_sizez = 30;
carriagez_sizey = 32;
 
carriagez_posy = carriagex_arm_posy;
carriagez_posz = carriagex_bot + carriagex_arm_sizez + 1;
 
carriagez_arm_sizez = 80;
carriagez_arm_sizey = 10;
carriagez_arm_posy = carriagez_posy - carriagez_sizey;
carriagez_arm_posz = carriagez_posz + carriagez_sizez;
  </Expr>
  <Assembly Name="Carriage Z">
    <Move X="1" Y="1" Z="1"/>
	<Transform X="-carriagez_sizex/2"/>
    <Items>
      <Part Name="Block">
        <Color Value="ff9999bb"/>
        <Cuboid X="0" Y="carriagez_posy" Z="carriagez_posz" W="carriagez_sizex" L="-carriagez_sizey" H="carriagez_sizez"/>
      </Part>
 
	  <Part Name="Arm">
        <Color Value="ffaaaacc"/>
        <Cuboid X="0" Y="carriagez_arm_posy" Z="carriagez_arm_posz" W="carriagez_sizex" L="-carriagez_arm_sizey" H="-carriagez_arm_sizez"/>
      </Part>
 
    </Items>
  </Assembly>
</Model>
kb/samples/3d_cnc.txt · Last modified: by 127.0.0.1

Page Tools