Problem with comparison.
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/assembly.scad
0,0 → 1,58
use <src/sloupek.scad>
use <src/plbase.scad>
use <src/bocnice.scad>
use <src/dno.scad>
use <src/spodni_kryt.scad>
use <src/otvory.scad>
use <src/text/Write.scad>
use <upravena_bocnice.scad>
 
include <src/manufactury_conf.scad>
include <configuration.scad>
include <src/otvory_conf.scad>
 
 
barva_dno_bocnice = "cyan";
barva_spodni_kryt = "green";
barva_plbase_horni = "yellow";
 
posuv_dilu=0; //pro složeni krabičky zadat 0 pro rozebrání zdat 10
 
//BOCNICE SE DNEM
//-------------------------------------------------------------
 
 
color(barva_dno_bocnice)
upravena_bocnice();
 
//PLBASE HORNI
//-------------------------------------------------------------
translate([0,0,5*posuv_dilu])
color(barva_plbase_horni)
translate([0,0,vyska_bocnice/2-tloustka_plbase/2])
rotate(a=[0,0,0])
{
plbase_vrchni_kryt_pro_odecet(pocet_der1-1,pocet_der2-1,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,plbase_tolerance_horni,tloustka_plbase);
}
 
//SPODNÍ KRYT
//-------------------------------------------------------------
/*
translate([0,0,-5*posuv_dilu])
color(barva_spodni_kryt)
translate([0,0,-vyska_bocnice/2-2*tloustka_plbase])
spodni_kryt(pocet_der1-1,pocet_der2-1,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice);
 
*/
 
 
 
 
translate([0,0,-5*posuv_dilu])
color(barva_spodni_kryt)
translate([0,0,-tloustka_plbase-dno_sila_materialu])
dno(pocet_der1-1,pocet_der2-1,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice);
 
 
 
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/configuration.scad
0,0 → 1,48
//Název boxu (zařízení)
box_jmeno="BASEBOX02A";
 
vzdalenost_der = 10.16; //rozteč děr mezi sebou
radidus_hrany = 5; //radius zaobleni sloupku
vzdalenost_od_okraje = 8.8; //vzdalenost stredu upevnovaci diry od kraje desky
pocet_der1 = 11; //pocet děr v ose y
pocet_der2 = 15; //pocet der v ose x
 
 
 
//OBECNE PARAMETRY KRABICKY
//------------------------------------------------------------
//BOCNICE
vyska_bocnice=40;
tloustka_bocnice=3;
 
 
//PLBASE PARAMETRY
//------------------------------------------------------------
tloustka_plbase = 2; //tloustka plbase - dna
prekryti_der=0.2; //sila materiálu, který překrývá díry, aby nebyli vidět
 
plbase_tolerance_horni=0.5; //pro zvětšení tolerance aby tam šlo dát horní čelíčko
 
 
//Rozmery loga MLAB
//------------------------------------------------------------
logo_vyska=0.15;
logo_sirka=0.15;
 
 
//Sroub M3
M3_prumer=3.4;
M3_prumer_hlavy=7;
M3_vyska_hlavy=5;
M3_vyska_matky=3;
M3_sirka_matky=6.7;
Uchyt_vyska_mat=4;
Uchyt_radius=2;
Uchyt_x=13;
Uchyt_y=10;
 
dno_vyska_ramecku=9;
dno_vule=0.6;
dno_sila_materialu=4;
dno_spodni_rantl=3;
dno_vule_na_matky=0;
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/bocnice.scad
0,0 → 1,135
use <text/Write.scad>
use <MLAB_logo.scad>
use <sloupek.scad>
use <plbase.scad>
include <manufactury_conf.scad>
include <../configuration.scad>
 
bocnice(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice);
 
//Bočnice
//------------------------------------------------------------
 
 
module bocnice(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice){
 
difference () {
union()
{
translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
rotate(a=[180,0,90])
translate([radidus_hrany,radidus_hrany,0])
translate([-tloustka_bocnice,-tloustka_bocnice,0])
//obvod
difference () {
 
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick
cylinder(r=radidus_hrany,h=0.01);
}
 
translate([tloustka_bocnice-radidus_hrany,tloustka_bocnice-radidus_hrany,-0.1])
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje,vyska_bocnice+tloustka_plbase+0.2]);
}
//SLOUPKY
//------------------------------------------------------------
//sloupek 1
 
translate([(-(pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje+prumer_matice/2,-vzdalenost_od_okraje+prumer_matice/2,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
sloupek ();
 
//sloupek 2
 
translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje-prumer_matice/2,-vzdalenost_od_okraje+prumer_matice/2,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
rotate(a=[0,0,90])
sloupek ();
 
//sloupek 3
 
translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje-prumer_matice/2, (pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-prumer_matice/2,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
rotate(a=[0,0,180])
sloupek ();
 
//sloupek 4
 
translate([-((pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje+prumer_matice/2, (pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-prumer_matice/2,vyska_bocnice/2-(vyska_matice+2*tloustka_bocnice+0.1)-tloustka_plbase])
rotate(a=[0,0,270])
sloupek ();
//uchyt 1
translate([(-(pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje-Uchyt_radius/2-Uchyt_x+0.5,-vzdalenost_od_okraje+vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase])
uchyt();
//uchyt 2
translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje+tloustka_bocnice+Uchyt_radius-0.5,-vzdalenost_od_okraje+vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase])
uchyt();
 
//uchyt 3
translate([(-(pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje-Uchyt_radius/2-Uchyt_x+0.5,(pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-Uchyt_y+Uchyt_radius-vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase])
uchyt();
//uchyt 4
translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje+tloustka_bocnice+Uchyt_radius-0.5,(pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-Uchyt_y+Uchyt_radius-vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase])
uchyt();
}
 
//----------------------------------------------------
//LOGO MLAB
/*
translate([(5-(pocet_der2)*vzdalenost_der)/2,0,0])
translate ([0, -vzdalenost_od_okraje-tloustka_bocnice*1/2,0]) //
rotate([0, 90, 270])
scale(v = [logo_sirka, logo_vyska, 0.3])
MLAB_logo_short();
*/
 
 
 
//plbase odecet na kryt
translate([0,0,vyska_bocnice/2-tloustka_plbase/2+0.05])
rotate(a=[0,0,0])
{
plbase_vrchni_kryt_pro_odecet(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,0,tloustka_plbase+0.1);
}
 
 
}
}
 
 
 
 
//uchyt();
 
module uchyt(){
difference () {
minkowski()
{
cube([Uchyt_x-2*Uchyt_radius,Uchyt_y-2*Uchyt_radius,Uchyt_vyska_mat+M3_vyska_hlavy]); // base plastics brick
cylinder(r=Uchyt_radius,h=0.1);
}
 
//otvor na hlavu
translate([(Uchyt_x)/2-Uchyt_radius,(Uchyt_y)/2-Uchyt_radius,Uchyt_vyska_mat+M3_vyska_hlavy/2])
cylinder(h=M3_vyska_hlavy+0.6, r=M3_prumer_hlavy/2, center=true);
////otvor na sroub
translate([(Uchyt_x)/2-Uchyt_radius,(Uchyt_y)/2-Uchyt_radius,(Uchyt_vyska_mat+M3_vyska_hlavy)/2])
cylinder(h=Uchyt_vyska_mat+M3_vyska_hlavy+0.6, r=M3_prumer/2, center=true);
 
}
}
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/dno.scad
0,0 → 1,152
use <text/Write.scad>
use <MLAB_logo.scad>
use <sloupek.scad>
use <plbase.scad>
include <manufactury_conf.scad>
include <../configuration.scad>
 
dno(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice);
 
//Bočnice
//------------------------------------------------------------
 
 
module dno(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice){
 
difference () {
union()
{
translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
rotate(a=[180,0,90])
translate([radidus_hrany,radidus_hrany,0])
translate([-tloustka_bocnice,-tloustka_bocnice,0])
//obvod
difference () {
 
 
translate([-tloustka_bocnice,-tloustka_bocnice,0])
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick
cylinder(r=radidus_hrany,h=0.01);
}
translate([-dno_vule,-dno_vule,-dno_sila_materialu])
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice+2*dno_vule,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice+2*dno_vule,vyska_bocnice+tloustka_plbase+0.2]); // base plastics brick
cylinder(r=radidus_hrany,h=0.01);
}
 
translate([tloustka_bocnice-radidus_hrany+dno_spodni_rantl,tloustka_bocnice-radidus_hrany+dno_spodni_rantl,-0.1])
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*dno_spodni_rantl,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*dno_spodni_rantl,vyska_bocnice+tloustka_plbase+0.2]);
}
 
//uchyt 1
translate([(-(pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje-Uchyt_radius/2-Uchyt_x+0.5,-vzdalenost_od_okraje+vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase])
dno_uchyt();
//uchyt 2
translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje+tloustka_bocnice+Uchyt_radius-0.5,-vzdalenost_od_okraje+vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase])
dno_uchyt();
 
//uchyt 3
translate([(-(pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje-Uchyt_radius/2-Uchyt_x+0.5,(pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-Uchyt_y+Uchyt_radius-vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase])
dno_uchyt();
//uchyt 4
translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje+tloustka_bocnice+Uchyt_radius-0.5,(pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-Uchyt_y+Uchyt_radius-vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase])
dno_uchyt();
}
 
//----------------------------------------------------
//LOGO MLAB
/*
translate([(5-(pocet_der2)*vzdalenost_der)/2,0,0])
translate ([0, -vzdalenost_od_okraje-tloustka_bocnice*1/2,0]) //
rotate([0, 90, 270])
scale(v = [logo_sirka, logo_vyska, 0.3])
MLAB_logo_short();
*/
 
 
 
//plbase odecet na kryt
translate([0,0,vyska_bocnice/2-tloustka_plbase/2+0.05])
rotate(a=[0,0,0])
{
plbase_vrchni_kryt_pro_odecet(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,0,tloustka_plbase+0.1);
}
 
 
//odstranění vrchního přebytku
translate([0,-20+(pocet_der2+1)*vzdalenost_der/2,vyska_bocnice/2-tloustka_plbase/2+0.05-vyska_bocnice/2+dno_vyska_ramecku])
cube([(pocet_der2+3)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der1+3)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_bocnice+tloustka_plbase], true);
 
 
//začištění vnitřku
translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
rotate(a=[180,0,90])
translate([radidus_hrany,radidus_hrany,0])
translate([-tloustka_bocnice,-tloustka_bocnice,0])
translate([-dno_vule,-dno_vule,-dno_sila_materialu])
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice+2*dno_vule,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice+2*dno_vule,vyska_bocnice+tloustka_plbase+0.2]); // base plastics brick
cylinder(r=radidus_hrany,h=0.01);
}
//otvory na výčnělky horní
 
translate([-((pocet_der2+3)*vzdalenost_der+vzdalenost_od_okraje+tloustka_bocnice+Uchyt_radius-0.5)/2,-vzdalenost_od_okraje+vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase+tloustka_plbase+dno_sila_materialu+dno_vule_na_matky])
 
 
cube([((pocet_der2+3)*vzdalenost_der)+vzdalenost_od_okraje+tloustka_bocnice+Uchyt_radius-0.5,Uchyt_y-2*Uchyt_radius,tloustka_plbase+dno_sila_materialu+dno_vule_na_matky]);
translate([-((pocet_der2+3)*vzdalenost_der+vzdalenost_od_okraje+tloustka_bocnice+Uchyt_radius-0.5)/2,(pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-Uchyt_y+Uchyt_radius-vzdalenost_der/2,-vyska_bocnice/2-tloustka_plbase+tloustka_plbase+dno_sila_materialu+dno_vule_na_matky])
cube([((pocet_der2+3)*vzdalenost_der)+vzdalenost_od_okraje+tloustka_bocnice+Uchyt_radius-0.5,Uchyt_y-2*Uchyt_radius,tloustka_plbase+dno_sila_materialu+dno_vule_na_matky]);
}
}
 
 
 
 
//uchyt();
 
module dno_uchyt(){
difference () {
minkowski()
{
cube([Uchyt_x-2*Uchyt_radius,Uchyt_y-2*Uchyt_radius,tloustka_plbase+dno_sila_materialu+dno_vule_na_matky]); // base plastics brick
cylinder(r=Uchyt_radius,h=0.1);
}
 
 
////otvor na sroub
translate([(Uchyt_x)/2-Uchyt_radius,(Uchyt_y)/2-Uchyt_radius,(Uchyt_vyska_mat+M3_vyska_hlavy)/2])
cylinder(h=Uchyt_vyska_mat+M3_vyska_hlavy+0.6, r=M3_prumer/2, center=true);
translate([(Uchyt_x)/2-Uchyt_radius,(Uchyt_y)/2-Uchyt_radius,-0.01])
cylinder (h = M3_vyska_matky+0.01, r= (M3_sirka_matky+0.2)/2, $fn=6);
}
}
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/otvory.scad
0,0 → 1,209
//Funkce otvuru pro ruzne prvky umistene do celicek
 
/*OBSAHUJE
1A)
1B)
1C) - Pro modul USBI2C01A
1D) - Pro konektor MIC338
1E) - Pro modul UNIPOWER02A
1F) - Pro modul I2CDIFF01A
1G) - Pro modul UNIPOWER03A
1H) - Větrací otvor
2A) - Otvor na IR
*/
 
 
/*1C) - Pro modul USBI2C01A
--------------------------------------------------------
--------------------------------------------------------
pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
vzdalenost_der - definuje roztec der
 
modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
 
*/
 
module USBI2C01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
{
USBI2C01A_sirka_kon=12; //sirka konektoru
USBI2C01A_vyska_kon=11; //vyska konektoru
USBI2C01A_sirka_mod_otvory=3; //kolik modul zabira der
USBI2C01A_svyska_nad_plbase=6; //kolik modul zabira der
translate([vzdalenost_der*(USBI2C01A_sirka_mod_otvory-1)/2,0,USBI2C01A_vyska_kon/2+USBI2C01A_svyska_nad_plbase])
cube(size = [USBI2C01A_sirka_kon,tloustka_bocnice+0.2,USBI2C01A_vyska_kon], center = true);
}
 
/*1D) - Pro konektor MIC338
--------------------------------------------------------
--------------------------------------------------------
*/
//posun_od_okraje - zadava se o kolik der se ma posunot otvor od středu celicka v nasobcich roztece der
 
module MIC338(tloustka_bocnice,vzdalenost_der,vyska_bocnice)
{
MIC338_polomer_kon=8; //polomer montazniho otvoru
translate([0,0,vyska_bocnice/2])
rotate(a=[90,0,0])
cylinder(h=tloustka_bocnice+0.1, r=MIC338_polomer_kon+0.1, center=true);
}
 
/*1E) - Pro modul UNIPOWER02A
--------------------------------------------------------
--------------------------------------------------------
pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
vzdalenost_der - definuje rozec der
 
modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
 
*/
 
 
 
module UNIPOWER02A(tloustka_bocnice,vzdalenost_der)
{
UNIPOWER02A_sirka_kon=10; //sirka konektoru
UNIPOWER02A_vyska_kon=11; //vyska konektoru
UNIPOWER02A_sirka_mod_otvory=4; //kolik modul zabira der
UNIPOWER02A_vzdalenost_konektoru=6; //vzdalenost kraje konektoru od středu šroubu
UNIPOWER02A_vyska_nad_plbase=6; //vyska mezi albase a konektorem
translate([UNIPOWER02A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER02A_vyska_nad_plbase])
cube(size = [UNIPOWER02A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER02A_vyska_kon], center = false);
}
/*1F) - Pro modul I2CDIFF01A
--------------------------------------------------------
--------------------------------------------------------
pocet_der_dane_strany - protoze nelze definovat na jake strane bude dira umistena, proto se musí rucne zadat pocet der zvolene strany krabicky
posun_od_okraje - zadava se o kolik der se ma posunot modul od kraje celicka
vzdalenost_der - definuje roztec der
 
modul na dvou matkách má vysku 6.5 mm, pokud nebudo zasahne do nastaveni list krabicky, bude nutno zvednout vysku modulu.
 
*/
 
 
module I2CDIFF01A(tloustka_bocnice,vzdalenost_der) //uz upraveno
{
I2CDIFF01A_sirka_kon=16.5; //sirka konektoru
I2CDIFF01A_vyska_kon=13.5; //vyska konektoru
I2CDIFF01A_sirka_mod_otvory=4; //kolik modul zabira der
I2CDIFF01A_vyska_nad_plbase=6; //vyska mezi albase a konektorem
translate([vzdalenost_der*(I2CDIFF01A_sirka_mod_otvory-1)/2,0,I2CDIFF01A_vyska_kon/2+I2CDIFF01A_vyska_nad_plbase])
cube(size = [I2CDIFF01A_sirka_kon,tloustka_bocnice+0.2,I2CDIFF01A_vyska_kon], center = true);
}
 
/*1G) - Pro modul UNIPOWER03A
--------------------------------------------------------
--------------------------------------------------------
 
*/
 
module UNIPOWER03A(tloustka_bocnice,vzdalenost_der)
{
UNIPOWER03A_sirka_kon=10; //sirka konektoru
UNIPOWER03A_vyska_kon=11; //vyska konektoru
UNIPOWER03A_sirka_mod_otvory=4; //kolik modul zabira der
UNIPOWER03A_vzdalenost_konektoru=5; //vzdalenost kraje konektoru od středu šroubu
UNIPOWER03A_vyska_nad_plbase=6; //vyska mezi albase a konektorem
translate([(UNIPOWER03A_sirka_mod_otvory-1)*vzdalenost_der-UNIPOWER03A_sirka_kon-UNIPOWER03A_vzdalenost_konektoru,-tloustka_bocnice/2-0.05,UNIPOWER03A_vyska_nad_plbase])
cube(size = [UNIPOWER03A_sirka_kon,tloustka_bocnice+0.1,UNIPOWER03A_vyska_kon], center = false);
}
 
/*1G) - OTVOR PRO VETRANI
--------------------------------------------------------
--------------------------------------------------------
 
*/
module CHLADICI_OTVORY(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice)
{
CHLADICI_OTVORY_mezera=0.6;
CHLADICI_OTVORY_snizeni_vysky=10;
CHLADICI_OTVORY_prekryti=1.2;
for (a =[1:delka])
translate([vzdalenost_der*(a-1),0,0])
{
union() {
translate([CHLADICI_OTVORY_prekryti/2,-CHLADICI_OTVORY_mezera/2+0.005,CHLADICI_OTVORY_snizeni_vysky/2])
cube(size = [(vzdalenost_der-2*CHLADICI_OTVORY_prekryti)/2,(tloustka_bocnice+CHLADICI_OTVORY_mezera)/2,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);
translate([(vzdalenost_der+CHLADICI_OTVORY_prekryti)/2,-tloustka_bocnice/2-0.005,CHLADICI_OTVORY_snizeni_vysky/2])
cube(size = [(vzdalenost_der-2*CHLADICI_OTVORY_prekryti)/2,(tloustka_bocnice+CHLADICI_OTVORY_mezera)/2,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);
translate([(vzdalenost_der-CHLADICI_OTVORY_prekryti)/2,-CHLADICI_OTVORY_mezera/2,CHLADICI_OTVORY_snizeni_vysky/2])
cube(size = [CHLADICI_OTVORY_prekryti,CHLADICI_OTVORY_mezera,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);
translate([(vzdalenost_der-CHLADICI_OTVORY_prekryti)/2+vzdalenost_der/2,-CHLADICI_OTVORY_mezera/2,CHLADICI_OTVORY_snizeni_vysky/2])
cube(size = [CHLADICI_OTVORY_prekryti+1,CHLADICI_OTVORY_mezera,vyska_bocnice-CHLADICI_OTVORY_snizeni_vysky], center = false);
}
}
}
/*2A) - OTVOR PRO IR
--------------------------------------------------------
--------------------------------------------------------
 
*/
module IR(tloustka_bocnice,vyska_bocnice)
{
IR_sirka_kon=7; //sirka senzoru
IR_vyska_kon=7.5; //vyska senzoru
IR_hloubka_venkovni=1.2; //sila senzoru od vodičů ven
IR_vyska_pro_vodice=5;
translate([0,-tloustka_bocnice/2-0.01,vyska_bocnice/2-IR_vyska_kon/2])
cube(size = [IR_sirka_kon,IR_hloubka_venkovni+0.1,IR_vyska_kon], center = false);
translate([0,-(tloustka_bocnice/2-IR_hloubka_venkovni),vyska_bocnice/2-IR_vyska_kon/2-IR_vyska_pro_vodice])
cube(size = [IR_sirka_kon,tloustka_bocnice,IR_vyska_kon+IR_vyska_pro_vodice], center = false);
}
module OTVOR_NA_PRUDUCH(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice)
{
OTVOR_NA_PRUDUCH_vzdalenost_od_kraje=5;
translate([0,-0.05-tloustka_bocnice/2,OTVOR_NA_PRUDUCH_vzdalenost_od_kraje])
cube(size = [vzdalenost_der*(delka),tloustka_bocnice+0.1,vyska_bocnice-2*OTVOR_NA_PRUDUCH_vzdalenost_od_kraje], center = false);
}
module CHLADICI_OTVORY2(tloustka_bocnice,vzdalenost_der,delka,vyska_bocnice)
{
CHLADICI_OTVORY2_mezera=1.0;
CHLADICI_OTVORY2_snizeni_vysky=10;
for (a =[1:delka])
translate([vzdalenost_der*(a-1),0,0])
{
 
translate([vzdalenost_der/2,-0.05-tloustka_bocnice/2,CHLADICI_OTVORY2_snizeni_vysky/2])
cube(size = [CHLADICI_OTVORY2_mezera,tloustka_bocnice+0.1,vyska_bocnice-CHLADICI_OTVORY2_snizeni_vysky], center = false);
}
}
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/manufactury_conf.scad
0,0 → 1,34
$fn=20; // model faces resolution.
 
//Sroub - podpěra pro tisk sloupku
vyska_podpery=12;
vyska_mat_pod_matici=3;
 
//Sroub - parametry
vyska_hlavy = 3.5;
prumer_hlavy=6;
prumer_sroubu=3.3;
 
//Matice - parametry
prumer_matice=6; //hrany k hraně
vyska_matice=3; //vyska matice
posuv_dorazu=1; //pro moznost posuvu dorazu pro vsunutí matice
matice_sila_materialu=2; //sila materialu pod maticí na ose z
 
 
//Lišta parametry
//---------------------------------------------------
//rozměry výrezu v ose y
vzdalenost_od_diry = 5; //vzdalenost od stredu upevnovaci diry na druhou stranu
 
 
//Spodní Kryt
vyska_prekryti_spodni=3;
vyska_prekryti_vrchni=4;
prekryti_tolerance=0.6;
tolerance_na_nasunuti=0.3;
sila_spodniho_krytu=1;
 
//Pro vrchni PLBASE
hrana_bocnice=1.2; //udává jaká síla bocnice zůstane v části zapustěni vrchního čelička
 
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/MLAB_logo.scad
0,0 → 1,336
 
// Module names are of the form poly_<inkscape-path-id>(). As a result,
// you can associate a polygon in this OpenSCAD program with the corresponding
// SVG element in the Inkscape document by looking for the XML element with
// the attribute id="inkscape-path-id".
 
// fudge value is used to ensure that subtracted solids are a tad taller
// in the z dimension than the polygon being subtracted from. This helps
// keep the resulting .stl file manifold.
fudge = 0.1;
 
module poly_path18(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-232.349188,-35.666875],[-182.797938,-35.898125],[-160.682938,-13.989375],[-160.450438,35.563125],[-232.014188,35.898125],[-232.349188,-35.666875]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-209.879188,-13.409375],[-209.752938,13.430625],[-182.920438,13.305625],[-183.046688,-13.534375],[-209.879188,-13.409375]]);
}
}
}
 
module poly_path62(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[92.432812,-1.771750],[92.597949,-4.503371],[93.119219,-6.901594],[93.996035,-8.967707],[95.227812,-10.703000],[96.774141,-12.078137],[98.609687,-13.063156],[100.733984,-13.658410],[103.146562,-13.864250],[105.699062,-13.661125],[107.887812,-13.019250],[109.732656,-11.984875],[111.231562,-10.594250],[112.395469,-8.862219],[113.234062,-6.795500],[113.741562,-4.448156],[113.919062,-1.873000],[113.755859,0.855555],[113.240625,3.252938],[112.374297,5.318914],[111.157812,7.053250],[109.617598,8.429246],[107.786406,9.413719],[105.666230,10.007957],[103.259062,10.213250],[100.702656,10.008719],[98.512812,9.368250],[96.665625,8.337938],[95.150312,6.949500],[93.964375,5.212312],[93.125312,3.147000],[92.613594,0.802000]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[98.552812,-1.800500],[98.835312,0.975750],[99.666562,3.205750],[101.112812,4.683250],[103.235312,5.200750],[105.263281,4.768875],[106.697812,3.500750],[107.534531,1.315750],[107.804062,-1.844250],[107.529688,-4.690812],[106.730312,-6.920500],[106.111992,-7.769914],[105.312500,-8.373000],[103.169062,-8.846750],[101.223594,-8.427688],[99.762812,-7.193000],[98.842812,-5.017062]]);
}
}
}
 
module poly_path58(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[68.990437,-22.185500],[74.917937,-22.213000],[74.969187,-11.273000],[75.156687,-11.274250],[76.242312,-12.255344],[77.609187,-13.014250],[79.189500,-13.503000],[80.932937,-13.669250],[82.865594,-13.502668],[84.557312,-12.984406],[86.008094,-12.114816],[87.217937,-10.894250],[88.174051,-9.313273],[88.860281,-7.363625],[89.277215,-5.044602],[89.425437,-2.355500],[89.249227,0.538211],[88.692625,3.066062],[87.755867,5.225945],[86.439187,7.015750],[84.785418,8.417801],[82.848406,9.424344],[80.628035,10.034090],[78.124187,10.245750],[72.789187,9.788250],[69.136687,8.730750],[68.990437,-22.185500]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[79.224187,-8.645500],[77.738875,-8.428469],[76.562937,-7.790500],[75.659812,-6.752219],[74.996687,-5.341750],[75.042937,4.603250],[76.622937,5.097000],[78.425437,5.222000],[80.548719,4.774656],[82.084187,3.450750],[83.017781,1.173250],[83.316687,-2.135500],[83.049715,-4.992766],[82.277781,-7.029250],[81.002176,-8.246359]]);
}
}
}
 
module poly_path34(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-103.128062,-0.856125],[-102.963473,-3.587746],[-102.443219,-5.985969],[-101.566949,-8.052082],[-100.334312,-9.787375],[-98.786773,-11.162336],[-96.951188,-12.147062],[-94.827789,-12.742258],[-92.416812,-12.948625],[-89.861812,-12.745500],[-87.670562,-12.103625],[-85.828219,-11.069094],[-84.328062,-9.677375],[-83.164781,-7.946437],[-82.326812,-5.879875],[-81.819937,-3.532531],[-81.643062,-0.957375],[-81.805758,1.771180],[-82.320250,4.168563],[-83.186773,6.234539],[-84.405563,7.968875],[-85.947711,9.344871],[-87.777437,10.329344],[-89.895914,10.923582],[-92.304312,11.128875],[-94.860875,10.924344],[-97.055562,10.283875],[-98.899781,9.253563],[-100.416812,7.865125],[-101.598844,6.127938],[-102.444312,4.062625],[-102.949312,1.717625]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-97.013062,-0.884875],[-96.726812,1.891375],[-95.893062,4.121375],[-94.451812,5.600125],[-92.326812,6.116375],[-90.301031,5.684656],[-88.870563,4.417625],[-88.026500,2.231531],[-87.754312,-0.928625],[-88.029469,-3.775187],[-88.830562,-6.004875],[-89.449605,-6.854289],[-90.248531,-7.457375],[-92.393062,-7.931125],[-94.341500,-7.512062],[-95.804312,-6.277375],[-96.719469,-4.101437]]);
}
}
}
 
module poly_path42(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[-47.308437,-12.520625],[-47.248437,0.426875],[-47.072812,2.824531],[-46.567187,4.446875],[-45.590937,5.361406],[-43.988437,5.661875],[-42.443750,5.402969],[-41.185937,4.644375],[-40.217500,3.524062],[-39.528437,2.176875],[-39.597187,-12.556875],[-33.673437,-12.584375],[-33.599687,3.286875],[-33.404687,6.963125],[-32.838437,10.218125],[-37.304687,10.239375],[-38.372187,6.868125],[-38.553437,6.869375],[-39.800000,8.458125],[-41.460937,9.750625],[-43.496875,10.616719],[-45.875937,10.911875],[-48.979687,10.475625],[-50.237969,9.875469],[-51.268437,8.978125],[-52.079531,7.755000],[-52.672187,6.160625],[-53.170937,1.688125],[-53.238437,-12.493125],[-47.308437,-12.520625]]);
}
}
 
module poly_path94(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[41.480063,10.569500],[35.628813,10.597000],[35.476313,-21.966750],[41.328813,-21.994250],[41.480063,10.569500]]);
}
}
 
module poly_path78(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[171.252562,-2.141000],[171.416664,-4.872621],[171.935375,-7.270844],[172.808930,-9.336957],[174.037562,-11.072250],[175.588070,-12.447211],[177.426625,-13.431937],[179.552523,-14.027133],[181.965062,-14.233500],[184.515062,-14.029906],[186.705062,-13.388500],[188.543031,-12.353969],[190.046312,-10.962250],[191.211469,-9.231312],[192.047562,-7.164750],[192.554594,-4.817406],[192.728812,-2.242250],[192.567055,0.486305],[192.053500,2.883688],[191.187914,4.949664],[189.970062,6.684000],[188.430980,8.059996],[186.602094,9.044469],[184.483754,9.638707],[182.076312,9.844000],[179.515219,9.639469],[177.318812,8.999000],[175.473812,7.968688],[173.951312,6.580250],[172.775844,4.844000],[171.927562,2.777750],[171.425062,0.432750]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[177.361312,-2.169750],[177.651312,0.606500],[178.485062,2.836500],[179.922562,4.315250],[182.053812,4.831500],[184.074281,4.400250],[185.505062,3.132750],[186.347875,0.946656],[186.622562,-2.213500],[186.346781,-5.060062],[185.548812,-7.289750],[184.927680,-8.139145],[184.127250,-8.742094],[181.987562,-9.214750],[180.036469,-8.796312],[178.570062,-7.562250],[177.655844,-5.386312]]);
}
}
}
 
module poly_path86(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[221.151687,-0.960625],[221.989187,2.591875],[222.269187,2.590625],[222.836687,-1.015625],[226.242937,-13.801875],[232.349187,-13.830625],[225.516687,6.771875],[223.874188,11.454375],[222.132937,15.133125],[221.136531,16.512031],[220.030438,17.539375],[218.753406,18.173594],[217.269187,18.390625],[215.136531,18.209219],[213.482937,17.633125],[214.555437,12.890625],[215.921687,13.160625],[216.956062,12.930469],[217.949187,12.260625],[218.804188,11.003281],[219.411687,9.038125],[209.776687,-13.724375],[216.896687,-13.758125],[221.151687,-0.960625]]);
}
}
 
module poly_path50(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[17.764187,-7.257000],[15.205437,-7.744500],[13.741062,-7.528406],[12.542937,-6.897000],[11.651219,-5.926687],[11.112937,-4.722000],[11.181687,10.011750],[5.251687,10.040500],[5.144187,-12.767000],[9.752937,-12.788250],[10.450437,-9.784500],[10.631687,-9.785750],[11.539656,-11.279031],[12.724187,-12.383250],[14.155281,-13.083875],[15.817937,-13.323250],[18.512937,-12.829500],[17.764187,-7.257000]]);
}
}
 
module poly_path82(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[209.396313,-8.154250],[206.840063,-8.641750],[205.376937,-8.425656],[204.180063,-7.794250],[203.285531,-6.823937],[202.753813,-5.619250],[202.822563,9.114500],[196.891313,9.143250],[196.783813,-13.664250],[201.386313,-13.685500],[202.093813,-10.683000],[202.272562,-10.683000],[203.176938,-12.176281],[204.358812,-13.280500],[205.786938,-13.981125],[207.447563,-14.220500],[210.150063,-13.726750],[209.396313,-8.154250]]);
}
}
 
module poly_path54(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[46.283563,-11.629625],[50.606063,-12.954625],[55.847312,-13.462125],[58.027625,-13.328531],[59.823563,-12.914625],[61.254031,-12.223844],[62.361063,-11.299625],[63.162156,-10.153375],[63.692313,-8.800875],[64.097312,-5.517125],[63.982313,-1.485875],[63.839812,2.506625],[63.968563,6.316625],[64.671063,9.806625],[59.834812,9.829125],[58.863563,6.684125],[58.634813,6.685375],[57.552000,8.007250],[56.118562,9.130375],[54.268406,9.915062],[51.948563,10.184125],[49.068562,9.721625],[46.877313,8.357875],[45.456063,6.266625],[44.937313,3.560375],[45.162156,1.623344],[45.854813,0.022875],[46.988875,-1.286188],[48.533563,-2.323375],[50.456688,-3.080563],[52.724812,-3.573375],[58.176063,-3.800875],[58.234969,-5.998063],[57.788563,-7.469625],[56.681531,-8.303375],[54.733563,-8.574625],[50.972312,-8.192125],[47.714812,-7.219625],[46.283563,-11.629625]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[53.882313,5.299125],[55.479969,5.090531],[56.711063,4.481625],[58.251062,2.767875],[58.237313,-0.197125],[55.523563,-0.232125],[53.223563,0.191625],[51.628562,1.107875],[51.191688,1.785219],[51.047313,2.622875],[51.239812,3.754125],[51.807313,4.596625],[52.702313,5.127406]]);
}
}
}
 
module poly_path66(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[130.590187,-7.785500],[128.031437,-8.273000],[126.565344,-8.056281],[125.362687,-7.424250],[124.466437,-6.454563],[123.933937,-5.250500],[124.001437,9.484500],[118.077687,9.512000],[117.971437,-13.294250],[122.580187,-13.316750],[123.276437,-10.313000],[123.451437,-10.314250],[124.360656,-11.807063],[125.546437,-12.911750],[126.972531,-13.611750],[128.637687,-13.850500],[131.332687,-13.358000],[130.590187,-7.785500]]);
}
}
 
module poly_path14(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-232.349188,-35.666875],[-182.797938,-35.898125],[-160.682938,-13.989375],[-160.450438,35.563125],[-232.014188,35.898125],[-232.349188,-35.666875]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-209.879188,-13.409375],[-209.752938,13.430625],[-182.920438,13.305625],[-183.046688,-13.534375],[-209.879188,-13.409375]]);
}
}
}
 
module poly_path74(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[154.225437,-13.464250],[157.375437,-13.479250],[157.354188,-17.769250],[163.271687,-19.481750],[163.299188,-13.506750],[168.866688,-13.533000],[168.890438,-8.515500],[163.322938,-8.489250],[163.364188,0.273250],[163.494344,2.303250],[163.861688,3.665750],[164.555906,4.429187],[165.669188,4.680750],[167.242937,4.488250],[168.720438,3.940750],[169.790437,8.493250],[166.929188,9.509500],[163.595438,9.930750],[160.862313,9.540125],[158.954187,8.335750],[157.837312,6.209187],[157.451687,3.034500],[157.397938,-8.461750],[154.249188,-8.445500],[154.225437,-13.464250]]);
}
}
 
module poly_path46(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-17.605063,-11.330500],[-13.281313,-12.655500],[-8.033813,-13.163000],[-5.857719,-13.029406],[-4.061313,-12.615500],[-2.629438,-11.924250],[-1.527563,-11.000500],[-0.723813,-9.854250],[-0.193813,-8.501750],[0.212437,-5.218000],[0.098687,-1.186750],[-0.045063,2.805750],[0.079937,6.615750],[0.783687,10.105750],[-4.050063,10.128250],[-5.022563,6.983250],[-5.251313,6.984500],[-6.332875,8.306531],[-7.768813,9.430750],[-9.618344,10.214344],[-11.941313,10.483250],[-14.816313,10.020750],[-17.007563,8.657000],[-18.436313,6.565750],[-18.951313,3.859500],[-18.725531,1.922469],[-18.026313,0.322000],[-16.895063,-0.986906],[-15.351313,-2.023000],[-13.425375,-2.781281],[-11.160063,-3.274250],[-5.706313,-3.501750],[-5.651000,-5.698938],[-6.092563,-7.170500],[-7.203031,-8.004250],[-9.152563,-8.275500],[-12.918813,-7.893000],[-16.170063,-6.920500],[-17.605063,-11.330500]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-9.998813,5.598250],[-8.407250,5.390125],[-7.173813,4.780750],[-5.631313,3.067000],[-5.645063,0.102000],[-8.360063,0.067000],[-10.661313,0.490750],[-12.256313,1.407000],[-12.696313,2.084344],[-12.840063,2.922000],[-12.647406,4.053250],[-12.075063,4.895750],[-11.181313,5.426531]]);
}
}
}
 
module poly_path30(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[-125.741688,10.653750],[-125.799188,-1.755000],[-125.957313,-4.443125],[-126.411687,-6.220000],[-127.327781,-7.208438],[-128.880437,-7.531250],[-130.280906,-7.315156],[-131.384188,-6.683750],[-132.224656,-5.710156],[-132.831688,-4.508750],[-132.761688,10.686250],[-138.689188,10.713750],[-138.796688,-12.092500],[-134.194187,-12.113750],[-133.492938,-9.111250],[-133.309188,-9.112500],[-132.123719,-10.484375],[-130.654188,-11.680000],[-128.806688,-12.502500],[-126.486688,-12.788750],[-124.498406,-12.577344],[-122.902938,-11.922500],[-121.661375,-10.735625],[-120.721688,-8.941250],[-119.532313,-10.539844],[-118.042938,-11.770000],[-116.236219,-12.570313],[-114.077938,-12.847500],[-110.816688,-12.408750],[-109.595906,-11.791406],[-108.621688,-10.841250],[-107.881375,-9.539219],[-107.352937,-7.861250],[-106.920438,-3.121250],[-106.856688,10.565000],[-112.786687,10.592500],[-112.846688,-2.221250],[-113.000750,-4.580781],[-113.434188,-6.262500],[-114.358406,-7.263438],[-115.971688,-7.591250],[-117.402469,-7.371563],[-118.500438,-6.715000],[-119.310125,-5.685313],[-119.881687,-4.335000],[-119.810438,10.626250],[-125.741688,10.653750]]);
}
}
 
module poly_path70(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[133.850562,-12.039750],[138.173062,-13.363500],[143.408062,-13.872250],[145.596344,-13.738656],[147.391813,-13.324750],[148.819156,-12.633500],[149.919312,-11.709750],[150.729781,-10.563500],[151.261812,-9.211000],[151.663062,-5.927250],[151.539312,-1.896000],[151.405562,2.096500],[151.535562,5.906500],[152.238062,9.396500],[147.406813,9.419000],[146.426812,6.274000],[146.209313,6.275250],[145.120875,7.597750],[143.681812,8.721500],[141.828531,9.505563],[139.516812,9.774000],[136.633062,9.311500],[134.443062,7.947750],[133.018062,5.856500],[132.496812,3.150250],[132.724469,1.213219],[133.421812,-0.387250],[134.559156,-1.696156],[136.100562,-2.732250],[138.019156,-3.490375],[140.289312,-3.982250],[145.745563,-4.211000],[145.802281,-6.408187],[145.355562,-7.879750],[144.249469,-8.713500],[142.296812,-8.984750],[138.534312,-8.602250],[135.275562,-7.629750],[133.850562,-12.039750]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[141.455562,4.889000],[143.042125,4.680875],[144.278062,4.071500],[145.815562,2.357750],[145.803063,-0.607250],[143.089313,-0.642250],[140.789312,-0.218500],[139.195562,0.697750],[138.753688,1.375563],[138.611812,2.212750],[138.804469,3.344000],[139.373063,4.186500],[140.269937,4.717281]]);
}
}
}
 
module poly_path90(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[-23.205063,10.872250],[-29.056313,10.899750],[-29.208813,-21.664000],[-23.357563,-21.691500],[-23.205063,10.872250]]);
}
}
 
module poly_path38(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-58.146312,2.302250],[-58.077562,6.141000],[-57.645062,10.378500],[-61.891312,10.399750],[-62.723813,7.443500],[-62.901312,7.444750],[-64.011937,8.887562],[-65.516312,10.032250],[-67.378187,10.768812],[-69.547562,11.023500],[-71.573285,10.856391],[-73.360531,10.335375],[-74.909418,9.459047],[-76.220062,8.226000],[-77.266059,6.617855],[-78.017094,4.610219],[-78.473051,2.201098],[-78.633813,-0.611500],[-78.481391,-3.367242],[-77.996625,-5.799313],[-77.180453,-7.907477],[-76.033813,-9.691500],[-74.561996,-11.115934],[-72.782094,-12.137594],[-70.693051,-12.755895],[-68.293813,-12.970250],[-65.968812,-12.821500],[-64.140062,-12.302750],[-64.182562,-21.561500],[-58.257563,-21.589000],[-58.146312,2.302250]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-68.205062,6.003500],[-66.652719,5.784750],[-65.468812,5.146000],[-64.621156,4.114281],[-64.068813,2.704750],[-64.115062,-6.970250],[-65.528812,-7.712750],[-67.538813,-7.957750],[-69.730844,-7.526188],[-71.293813,-6.249000],[-72.222719,-3.955250],[-72.518812,-0.454000],[-72.250844,2.179906],[-71.470062,4.233500],[-70.139438,5.565687]]);
}
}
}
 
module poly_path1088(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[46.482459,41.647066],[46.482459,-3.772989],[46.346967,-9.120684],[45.939241,-13.631023],[45.257402,-17.307759],[44.299573,-20.154648],[42.916807,-22.272136],[40.957654,-23.786951],[38.416482,-24.697217],[35.287657,-25.001056],[32.584083,-24.806111],[30.150865,-24.222527],[27.988006,-23.252182],[26.095503,-21.896952],[23.016432,-18.367285],[20.748434,-13.966466],[20.748434,41.647066],[-0.960270,41.647066],[-0.960270,-41.863352],[15.922052,-41.863352],[18.425362,-30.828762],[19.086236,-30.828762],[21.128311,-33.427823],[23.436988,-35.850401],[28.839131,-40.181127],[32.026783,-41.942206],[35.640624,-43.200119],[39.678776,-43.954867],[44.139361,-44.206450],[47.965983,-44.000553],[51.426496,-43.385364],[54.522777,-42.364640],[57.256705,-40.942134],[59.661760,-39.039618],[61.777682,-36.581368],[63.615738,-33.574893],[65.187190,-30.027703],[67.244911,-33.098012],[69.572989,-35.845395],[72.171425,-38.262340],[75.040218,-40.341339],[78.193450,-42.026693],[81.671486,-43.235166],[85.468694,-43.963003],[89.579442,-44.206450],[96.060511,-43.785894],[101.535250,-42.524226],[103.870838,-41.532915],[105.981128,-40.241207],[107.866121,-38.649102],[109.525815,-36.756600],[110.972102,-34.541483],[112.219376,-31.982788],[114.131905,-25.842169],[115.260898,-18.056875],[115.653918,-8.439158],[115.653918,41.647066],[93.905161,41.647066],[93.905161,-5.295001],[93.384473,-13.893870],[92.739245,-17.289297],[91.842434,-20.074543],[90.466552,-22.229892],[88.465469,-23.769428],[85.829797,-24.693149],[82.550148,-25.001056],[79.786494,-24.799227],[77.323237,-24.197494],[75.160377,-23.201489],[73.297914,-21.816846],[71.694544,-20.081427],[70.308962,-18.056875],[69.141168,-15.739436],[68.191162,-13.125354],[68.191162,41.647066],[46.482459,41.647066]]);
}
}
 
module poly_path1084(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-336.732227,-136.150017],[-148.182927,-136.150017],[-64.412166,-52.399282],[-64.412166,136.150017],[-336.732227,136.150017],[-336.732227,-136.150017]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-251.639718,51.057508],[-149.524701,51.057508],[-149.524701,-51.077535],[-251.639718,-51.077535],[-251.639718,51.057508]]);
}
}
}
 
module poly_path1098(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[157.761592,43.427420],[136.333260,43.427420],[136.333260,-75.810236],[157.761592,-75.810236],[157.761592,43.427420]]);
}
}
 
module poly_path1092(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[178.883520,-37.020949],[186.190681,-39.719517],[194.744491,-41.787251],[204.154433,-43.093979],[213.969911,-43.529555],[221.945456,-43.003860],[225.403779,-42.346741],[228.509135,-41.426774],[231.281237,-40.278381],[233.743556,-38.908445],[235.901722,-37.320720],[237.761368,-35.518963],[239.349405,-33.494098],[240.687737,-31.290873],[241.774487,-28.903654],[242.607776,-26.326809],[243.671683,-20.639289],[244.029656,-14.290895],[243.549020,0.488646],[242.948226,15.107976],[243.000796,22.189839],[243.368782,29.046405],[244.237431,35.607580],[245.872092,41.823299],[228.168685,41.823299],[224.664051,30.288047],[223.822939,30.288047],[221.977060,32.796676],[219.825153,35.126945],[217.354073,37.280730],[214.550679,39.259909],[211.377421,40.881115],[207.774219,42.046093],[203.739196,42.749210],[199.270475,42.984835],[193.720637,42.549259],[188.756574,41.242531],[184.403318,39.107208],[180.725956,36.235911],[177.774553,32.673701],[175.559124,28.525717],[174.172291,23.847031],[173.716688,18.612610],[173.927592,14.918350],[174.562807,11.528243],[175.626088,8.446042],[177.121190,5.675504],[179.032467,3.168126],[181.311730,0.906699],[183.958980,-1.103146],[186.974217,-2.855776],[190.348992,-4.362768],[194.041061,-5.614423],[198.044792,-6.618251],[202.354553,-7.381760],[211.812058,-8.187826],[222.320953,-8.122740],[222.677361,-12.475057],[222.573787,-16.160868],[222.008352,-19.182050],[220.979179,-21.540481],[219.345456,-23.359448],[216.936333,-24.647088],[213.749933,-25.412788],[209.784377,-25.665935],[203.090526,-25.332995],[196.006159,-24.324161],[189.399924,-22.772109],[184.070378,-20.799501],[178.883520,-37.020949]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[206.439955,25.121215],[209.525284,24.937535],[212.287687,24.387745],[214.719652,23.473724],[216.813671,22.197349],[220.150583,19.160834],[222.481164,15.929061],[222.481164,5.074710],[217.401949,4.776816],[212.548031,4.914498],[208.059596,5.452710],[204.096857,6.396457],[200.822527,7.835861],[198.269151,9.740879],[197.322900,10.905857],[196.647007,12.211646],[196.106292,15.268188],[196.275891,17.479549],[196.787192,19.426185],[197.643950,21.106219],[198.849919,22.517773],[200.351279,23.659595],[202.119242,24.472858],[204.150052,24.959439]]);
}
}
}
 
module poly_path1096(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[262.253752,-75.279535],[283.962455,-75.279535],[283.962455,-35.166497],[284.643355,-35.166497],[286.513015,-37.074019],[288.636135,-38.771263],[291.010837,-40.258229],[293.635244,-41.534917],[296.467114,-42.556894],[299.437917,-43.282228],[302.551408,-43.714675],[305.811344,-43.857989],[309.462186,-43.698325],[312.890078,-43.219019],[316.095488,-42.419603],[319.078886,-41.299606],[321.840741,-39.858560],[324.381522,-38.095996],[326.701699,-36.011442],[328.801741,-33.604432],[330.660449,-30.867962],[332.271329,-27.795188],[333.634381,-24.385876],[334.749606,-20.639790],[335.617003,-16.556696],[336.236572,-12.136359],[336.732227,-2.283019],[336.558560,3.187848],[336.037559,8.320063],[335.169223,13.112924],[333.953553,17.565725],[332.390549,21.677764],[330.480211,25.448335],[328.222538,28.876735],[325.617531,31.962260],[322.716000,34.700608],[319.554202,37.073081],[316.132842,39.079914],[312.452625,40.721342],[308.514253,41.997600],[304.318432,42.908922],[299.865865,43.455543],[295.157257,43.637698],[284.903700,43.204625],[275.611413,41.915421],[267.828623,40.055461],[262.253752,37.970204],[262.253752,-75.279535]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[299.482976,-25.493708],[296.618251,-25.299075],[294.033271,-24.717682],[291.729913,-23.753282],[289.710054,-22.409630],[287.944595,-20.687040],[286.400679,-18.617116],[285.074550,-16.205489],[283.962455,-13.457794],[283.962455,22.930318],[286.723606,24.071828],[289.710054,24.792781],[296.318793,25.293443],[300.479919,24.888533],[304.104086,23.676305],[307.195048,21.660515],[309.756560,18.844917],[311.777357,15.156915],[313.216134,10.518908],[314.076647,4.927140],[314.362650,-1.622145],[314.129881,-7.218959],[313.431732,-12.068770],[312.268436,-16.171812],[310.640228,-19.528320],[308.547344,-22.138529],[305.990017,-24.002674],[302.968483,-25.120988]]);
}
}
}
 
module MLAB_logo_long()
{
poly_path18(5);
poly_path62(5);
poly_path58(5);
poly_path34(5);
poly_path42(5);
poly_path94(5);
poly_path78(5);
poly_path86(5);
poly_path50(5);
poly_path82(5);
poly_path54(5);
poly_path66(5);
poly_path14(5);
poly_path74(5);
poly_path46(5);
poly_path30(5);
poly_path70(5);
poly_path90(5);
poly_path38(5);
}
 
module MLAB_logo_short()
{
poly_path1088(5);
poly_path1084(5);
poly_path1098(5);
poly_path1092(5);
poly_path1096(5);
}
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/otvory_conf.scad
0,0 → 1,4
//Konfigurace pro otvory
 
 
 
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/plbase.scad
0,0 → 1,436
use <text/Write.scad>
include <manufactury_conf.scad>
include <../configuration.scad>
/*
pocet_der1=5;
pocet_der2=3;
radidus_hrany=5;
vzdalenost_der=10.16;
vzdalenost_od_okraje=8.8;
prumer_sroubu=3.3;
 
tloustka_plbase=2;
prekryti_der=0.3;
 
vyska_nozicky=5;
 
vyska_hlavy = 3.5;
prumer_hlavy=6;
*/
 
//PLBASE ZAKLADNI
//------------------------------------------------------------
module plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,tloustka_bocnice){
 
difference () {
//union () {
translate([radidus_hrany,radidus_hrany,0])
minkowski()
{
cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,tloustka_plbase]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
 
for (i = [0:1:pocet_der1-1]) {
for (a = [0:1:pocet_der2-1]) {
translate([vzdalenost_od_okraje+vzdalenost_der*i+tloustka_bocnice,vzdalenost_od_okraje+vzdalenost_der*a+tloustka_bocnice, (tloustka_plbase-prekryti_der)/2]) // center top screw
cylinder(((tloustka_plbase-prekryti_der)), d=prumer_sroubu, center=true);
}
}
}
}
 
 
 
//MODEL NOZICKY PRO PLBASE
//-----------------------------------------------------------
//průmer nozicky je roven vzdalenost_der
module nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy)
{
difference () {
translate([0,0,-vyska_nozicky/2])
cylinder((vyska_nozicky), d=vzdalenost_der, center=true);
translate([0,0,-(vyska_nozicky-vyska_hlavy/2)])
cylinder((vyska_hlavy), d=prumer_hlavy, center=true);
translate([0,0,-vyska_nozicky/2])
cylinder((vyska_nozicky), d=prumer_sroubu, center=true);
}
}
 
 
 
//PLBASE S NOZICKAMA
//-----------------------------------------------------------
module plbase_s_nozickama(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){
plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
translate([vzdalenost_od_okraje,vzdalenost_od_okraje, (tloustka_plbase)]) // center top screw
rotate(a=[180,0,0])
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, tloustka_plbase]) // center top screw
rotate(a=[180,0,0])
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
 
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
rotate(a=[180,0,0])
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
rotate(a=[180,0,0])
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
}
 
//PLBASE SE ZAPUSTENIM SROUBU
//------------------------------------------------------
module plbase_zapustene_srouby(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_hlavy,prekryti_der,prumer_hlavy){
difference () {
plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,(vyska_hlavy+1.5),prekryti_der);
 
translate([vzdalenost_od_okraje,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw
cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje, 1.5+(vyska_hlavy/2)]) // center top screw
cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
 
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw
cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, 1.5+(vyska_hlavy/2)]) // center top screw
cylinder(((vyska_hlavy+0.5)), d=prumer_hlavy, center=true);
 
}
}
 
 
//PLBASE S NOZICKAMA polovicni pro tisk
//-----------------------------------------------------------
module plbase_s_nozickama_polovicni(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){
 
difference()
{
plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
translate([-1,-1, -1])
cube([(pocet_der1+1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,1+((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2,tloustka_plbase+15]);
}
 
 
translate([vzdalenost_od_okraje+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
rotate(a=[180,0,0])
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
translate([vzdalenost_od_okraje,vzdalenost_od_okraje+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase)]) // center top screw
rotate(a=[180,0,0])
nozicka (vzdalenost_der,vyska_nozicky,prumer_sroubu,vyska_hlavy,prumer_hlavy);
 
}
 
//PLBASE polovicni pro tisk
//-----------------------------------------------------------
module plbase_polovicni(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,vyska_nozicky,vyska_hlavy,prumer_hlavy){
 
difference()
{
plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der);
translate([-1,-1, -1])
cube([(pocet_der1+1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany,1+((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2,tloustka_plbase+15]);
}
}
//PLBASE ZAKLADNI - bez der s napisem produktu
//------------------------------------------------------------
module plbase_bez_der_napis(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,box_jmeno,tloustka_bocnice){
 
 
 
difference () {
//union () {
translate([radidus_hrany,radidus_hrany,0])
minkowski()
{
cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,tloustka_plbase]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
translate([radidus_hrany,radidus_hrany,0])
translate([ ((pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2+tloustka_bocnice, ((pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany)/2+tloustka_bocnice, tloustka_plbase/2+1])
rotate([0,0,0])
write(box_jmeno,h=10,t=tloustka_plbase-1, space= 1.1, font = "Letters.dxf",center=true);
 
translate([vzdalenost_od_okraje+tloustka_bocnice,vzdalenost_od_okraje+tloustka_bocnice, (tloustka_plbase/2)]) // center top screw
cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
translate([vzdalenost_od_okraje+tloustka_bocnice+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+tloustka_bocnice, (tloustka_plbase/2)]) // center top screw
cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
 
translate([vzdalenost_od_okraje+tloustka_bocnice+(pocet_der1-1)*vzdalenost_der,vzdalenost_od_okraje+tloustka_bocnice+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw
cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
translate([vzdalenost_od_okraje+tloustka_bocnice,vzdalenost_od_okraje+tloustka_bocnice+(pocet_der2-1)*vzdalenost_der, (tloustka_plbase/2)]) // center top screw
cylinder(((tloustka_plbase+0.3)), d=prumer_sroubu, center=true);
 
 
 
 
 
}
}
 
 
//PLBASE ZAKLADNI - bez der
//------------------------------------------------------------
module plbase_bez_der(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,tloustka_bocnice){
 
 
 
difference () {
//union () {
translate([radidus_hrany,radidus_hrany,0])
minkowski()
{
cube([(pocet_der1-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,tloustka_plbase]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
 
 
 
 
 
 
}
}
 
 
//PLbase vrchní
//------------------------------------------------------------
 
 
module plbase_vrchni_kryt(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,plbase_tolerance_horni){
 
difference () {
// translate([0,((pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+2*tloustka_bocnice)/2,0])
cube([(pocet_der2+2)*vzdalenost_der+2*vzdalenost_od_okraje+2*tloustka_bocnice,(pocet_der1+2)*vzdalenost_der+2*vzdalenost_od_okraje+2*tloustka_bocnice,tloustka_plbase],true);
 
union()
{
translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
rotate(a=[180,0,90])
translate([radidus_hrany,radidus_hrany,0])
translate([-tloustka_bocnice,-tloustka_bocnice,0])
//obvod
difference () {
 
 
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
translate([tloustka_bocnice,tloustka_bocnice,-0.1])
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany-2*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany-2*plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.2]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
translate([-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,-0.2])
cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
translate([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,-0.2])
cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
translate([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-0.2])
cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
translate([-radidus_hrany-tloustka_bocnice-3*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-radidus_hrany+2*tloustka_bocnice-vzdalenost_der/2,-0.2])
cube([vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vzdalenost_der/2+tloustka_bocnice+plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]);
 
}
//pro vyboceni sloupku
translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,vyska_bocnice/2])
rotate(a=[180,0,90])
translate([radidus_hrany,radidus_hrany,0])
translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0])
difference () {
 
translate([-(5)*vzdalenost_der/2,-(5)*vzdalenost_der/2,0])
minkowski()
{
cube([(pocet_der1+5)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2+5)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_bocnice+tloustka_plbase]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
translate([tloustka_bocnice,tloustka_bocnice,-0.2])
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni,vyska_bocnice+tloustka_plbase+0.4]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
}
}
//SLOUPKY
//------------------------------------------------------------
//sloupek 1
 
translate([(-(pocet_der2)*vzdalenost_der)/2-tloustka_bocnice-plbase_tolerance_horni,-tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
 
cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
 
//sloupek 2
 
translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice-plbase_tolerance_horni,-tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
rotate(a=[0,0,90])
cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
 
//sloupek 3
 
translate([((pocet_der2)*vzdalenost_der)/2+tloustka_bocnice-plbase_tolerance_horni, (pocet_der1)*vzdalenost_der+tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
rotate(a=[0,0,180])
cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
 
//sloupek 4
 
translate([-((pocet_der2)*vzdalenost_der)/2-tloustka_bocnice-plbase_tolerance_horni, (pocet_der1)*vzdalenost_der+tloustka_bocnice-plbase_tolerance_horni,-tloustka_plbase])
rotate(a=[0,0,270])
cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
 
 
 
 
 
 
}
}
 
plbase_vrchni_kryt_pro_odecet(pocet_der1-1,pocet_der2-1,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,-0.2,tloustka_plbase);
 
//PLbase vrchní - pro odecet
//------------------------------------------------------------
 
 
module plbase_vrchni_kryt_pro_odecet(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,plbase_tolerance_horni,tloustka_plbase){
 
 
 
 
union()
{
difference()
{
//pro vyboceni sloupku
translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,tloustka_plbase/2])
rotate(a=[180,0,90])
translate([radidus_hrany,radidus_hrany,0])
translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0])
 
translate([tloustka_bocnice+hrana_bocnice+plbase_tolerance_horni,tloustka_bocnice+hrana_bocnice+plbase_tolerance_horni,0])
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni-2*hrana_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice-2*plbase_tolerance_horni-2*hrana_bocnice,tloustka_plbase]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
//SLOUPKY
//------------------------------------------------------------
//sloupek 1
 
translate([(-(pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje+prumer_matice/2,-vzdalenost_od_okraje+prumer_matice/2,-tloustka_plbase/2-0.2])
 
cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
 
//sloupek 2
 
translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje-prumer_matice/2,-vzdalenost_od_okraje+prumer_matice/2,-tloustka_plbase/2-0.2])
rotate(a=[0,0,90])
cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
 
//sloupek 3
 
translate([((pocet_der2)*vzdalenost_der)/2+vzdalenost_od_okraje-prumer_matice/2, (pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-prumer_matice/2,-tloustka_plbase/2-0.2])
rotate(a=[0,0,180])
cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
 
//sloupek 4
 
translate([-((pocet_der2)*vzdalenost_der)/2-vzdalenost_od_okraje+prumer_matice/2, (pocet_der1)*vzdalenost_der+vzdalenost_od_okraje-prumer_matice/2,-tloustka_plbase/2-0.2])
rotate(a=[0,0,270])
cylinder(r=prumer_sroubu/2,h=6*tloustka_plbase);
//nápis
translate([0,0,0])
translate([ 0, ((pocet_der1-1)*vzdalenost_der+vzdalenost_od_okraje+2*tloustka_bocnice)/2, tloustka_plbase/2-(tloustka_plbase-1)/2+0.01])
rotate([0,0,0])
write(box_jmeno,h=10,t=tloustka_plbase-1, space= 1.1, font = "Letters.dxf",center=true);
 
 
 
}
 
}
 
}
 
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/produkt_logo.scad
0,0 → 1,336
 
// Module names are of the form poly_<inkscape-path-id>(). As a result,
// you can associate a polygon in this OpenSCAD program with the corresponding
// SVG element in the Inkscape document by looking for the XML element with
// the attribute id="inkscape-path-id".
 
// fudge value is used to ensure that subtracted solids are a tad taller
// in the z dimension than the polygon being subtracted from. This helps
// keep the resulting .stl file manifold.
fudge = 0.1;
 
module poly_path18(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-232.349188,-35.666875],[-182.797938,-35.898125],[-160.682938,-13.989375],[-160.450438,35.563125],[-232.014188,35.898125],[-232.349188,-35.666875]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-209.879188,-13.409375],[-209.752938,13.430625],[-182.920438,13.305625],[-183.046688,-13.534375],[-209.879188,-13.409375]]);
}
}
}
 
module poly_path62(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[92.432812,-1.771750],[92.597949,-4.503371],[93.119219,-6.901594],[93.996035,-8.967707],[95.227812,-10.703000],[96.774141,-12.078137],[98.609687,-13.063156],[100.733984,-13.658410],[103.146562,-13.864250],[105.699062,-13.661125],[107.887812,-13.019250],[109.732656,-11.984875],[111.231562,-10.594250],[112.395469,-8.862219],[113.234062,-6.795500],[113.741562,-4.448156],[113.919062,-1.873000],[113.755859,0.855555],[113.240625,3.252938],[112.374297,5.318914],[111.157812,7.053250],[109.617598,8.429246],[107.786406,9.413719],[105.666230,10.007957],[103.259062,10.213250],[100.702656,10.008719],[98.512812,9.368250],[96.665625,8.337938],[95.150312,6.949500],[93.964375,5.212312],[93.125312,3.147000],[92.613594,0.802000]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[98.552812,-1.800500],[98.835312,0.975750],[99.666562,3.205750],[101.112812,4.683250],[103.235312,5.200750],[105.263281,4.768875],[106.697812,3.500750],[107.534531,1.315750],[107.804062,-1.844250],[107.529688,-4.690812],[106.730312,-6.920500],[106.111992,-7.769914],[105.312500,-8.373000],[103.169062,-8.846750],[101.223594,-8.427688],[99.762812,-7.193000],[98.842812,-5.017062]]);
}
}
}
 
module poly_path58(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[68.990437,-22.185500],[74.917937,-22.213000],[74.969187,-11.273000],[75.156687,-11.274250],[76.242312,-12.255344],[77.609187,-13.014250],[79.189500,-13.503000],[80.932937,-13.669250],[82.865594,-13.502668],[84.557312,-12.984406],[86.008094,-12.114816],[87.217937,-10.894250],[88.174051,-9.313273],[88.860281,-7.363625],[89.277215,-5.044602],[89.425437,-2.355500],[89.249227,0.538211],[88.692625,3.066062],[87.755867,5.225945],[86.439187,7.015750],[84.785418,8.417801],[82.848406,9.424344],[80.628035,10.034090],[78.124187,10.245750],[72.789187,9.788250],[69.136687,8.730750],[68.990437,-22.185500]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[79.224187,-8.645500],[77.738875,-8.428469],[76.562937,-7.790500],[75.659812,-6.752219],[74.996687,-5.341750],[75.042937,4.603250],[76.622937,5.097000],[78.425437,5.222000],[80.548719,4.774656],[82.084187,3.450750],[83.017781,1.173250],[83.316687,-2.135500],[83.049715,-4.992766],[82.277781,-7.029250],[81.002176,-8.246359]]);
}
}
}
 
module poly_path34(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-103.128062,-0.856125],[-102.963473,-3.587746],[-102.443219,-5.985969],[-101.566949,-8.052082],[-100.334312,-9.787375],[-98.786773,-11.162336],[-96.951188,-12.147062],[-94.827789,-12.742258],[-92.416812,-12.948625],[-89.861812,-12.745500],[-87.670562,-12.103625],[-85.828219,-11.069094],[-84.328062,-9.677375],[-83.164781,-7.946437],[-82.326812,-5.879875],[-81.819937,-3.532531],[-81.643062,-0.957375],[-81.805758,1.771180],[-82.320250,4.168563],[-83.186773,6.234539],[-84.405563,7.968875],[-85.947711,9.344871],[-87.777437,10.329344],[-89.895914,10.923582],[-92.304312,11.128875],[-94.860875,10.924344],[-97.055562,10.283875],[-98.899781,9.253563],[-100.416812,7.865125],[-101.598844,6.127938],[-102.444312,4.062625],[-102.949312,1.717625]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-97.013062,-0.884875],[-96.726812,1.891375],[-95.893062,4.121375],[-94.451812,5.600125],[-92.326812,6.116375],[-90.301031,5.684656],[-88.870563,4.417625],[-88.026500,2.231531],[-87.754312,-0.928625],[-88.029469,-3.775187],[-88.830562,-6.004875],[-89.449605,-6.854289],[-90.248531,-7.457375],[-92.393062,-7.931125],[-94.341500,-7.512062],[-95.804312,-6.277375],[-96.719469,-4.101437]]);
}
}
}
 
module poly_path42(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[-47.308437,-12.520625],[-47.248437,0.426875],[-47.072812,2.824531],[-46.567187,4.446875],[-45.590937,5.361406],[-43.988437,5.661875],[-42.443750,5.402969],[-41.185937,4.644375],[-40.217500,3.524062],[-39.528437,2.176875],[-39.597187,-12.556875],[-33.673437,-12.584375],[-33.599687,3.286875],[-33.404687,6.963125],[-32.838437,10.218125],[-37.304687,10.239375],[-38.372187,6.868125],[-38.553437,6.869375],[-39.800000,8.458125],[-41.460937,9.750625],[-43.496875,10.616719],[-45.875937,10.911875],[-48.979687,10.475625],[-50.237969,9.875469],[-51.268437,8.978125],[-52.079531,7.755000],[-52.672187,6.160625],[-53.170937,1.688125],[-53.238437,-12.493125],[-47.308437,-12.520625]]);
}
}
 
module poly_path94(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[41.480063,10.569500],[35.628813,10.597000],[35.476313,-21.966750],[41.328813,-21.994250],[41.480063,10.569500]]);
}
}
 
module poly_path78(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[171.252562,-2.141000],[171.416664,-4.872621],[171.935375,-7.270844],[172.808930,-9.336957],[174.037562,-11.072250],[175.588070,-12.447211],[177.426625,-13.431937],[179.552523,-14.027133],[181.965062,-14.233500],[184.515062,-14.029906],[186.705062,-13.388500],[188.543031,-12.353969],[190.046312,-10.962250],[191.211469,-9.231312],[192.047562,-7.164750],[192.554594,-4.817406],[192.728812,-2.242250],[192.567055,0.486305],[192.053500,2.883688],[191.187914,4.949664],[189.970062,6.684000],[188.430980,8.059996],[186.602094,9.044469],[184.483754,9.638707],[182.076312,9.844000],[179.515219,9.639469],[177.318812,8.999000],[175.473812,7.968688],[173.951312,6.580250],[172.775844,4.844000],[171.927562,2.777750],[171.425062,0.432750]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[177.361312,-2.169750],[177.651312,0.606500],[178.485062,2.836500],[179.922562,4.315250],[182.053812,4.831500],[184.074281,4.400250],[185.505062,3.132750],[186.347875,0.946656],[186.622562,-2.213500],[186.346781,-5.060062],[185.548812,-7.289750],[184.927680,-8.139145],[184.127250,-8.742094],[181.987562,-9.214750],[180.036469,-8.796312],[178.570062,-7.562250],[177.655844,-5.386312]]);
}
}
}
 
module poly_path86(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[221.151687,-0.960625],[221.989187,2.591875],[222.269187,2.590625],[222.836687,-1.015625],[226.242937,-13.801875],[232.349187,-13.830625],[225.516687,6.771875],[223.874188,11.454375],[222.132937,15.133125],[221.136531,16.512031],[220.030438,17.539375],[218.753406,18.173594],[217.269187,18.390625],[215.136531,18.209219],[213.482937,17.633125],[214.555437,12.890625],[215.921687,13.160625],[216.956062,12.930469],[217.949187,12.260625],[218.804188,11.003281],[219.411687,9.038125],[209.776687,-13.724375],[216.896687,-13.758125],[221.151687,-0.960625]]);
}
}
 
module poly_path50(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[17.764187,-7.257000],[15.205437,-7.744500],[13.741062,-7.528406],[12.542937,-6.897000],[11.651219,-5.926687],[11.112937,-4.722000],[11.181687,10.011750],[5.251687,10.040500],[5.144187,-12.767000],[9.752937,-12.788250],[10.450437,-9.784500],[10.631687,-9.785750],[11.539656,-11.279031],[12.724187,-12.383250],[14.155281,-13.083875],[15.817937,-13.323250],[18.512937,-12.829500],[17.764187,-7.257000]]);
}
}
 
module poly_path82(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[209.396313,-8.154250],[206.840063,-8.641750],[205.376937,-8.425656],[204.180063,-7.794250],[203.285531,-6.823937],[202.753813,-5.619250],[202.822563,9.114500],[196.891313,9.143250],[196.783813,-13.664250],[201.386313,-13.685500],[202.093813,-10.683000],[202.272562,-10.683000],[203.176938,-12.176281],[204.358812,-13.280500],[205.786938,-13.981125],[207.447563,-14.220500],[210.150063,-13.726750],[209.396313,-8.154250]]);
}
}
 
module poly_path54(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[46.283563,-11.629625],[50.606063,-12.954625],[55.847312,-13.462125],[58.027625,-13.328531],[59.823563,-12.914625],[61.254031,-12.223844],[62.361063,-11.299625],[63.162156,-10.153375],[63.692313,-8.800875],[64.097312,-5.517125],[63.982313,-1.485875],[63.839812,2.506625],[63.968563,6.316625],[64.671063,9.806625],[59.834812,9.829125],[58.863563,6.684125],[58.634813,6.685375],[57.552000,8.007250],[56.118562,9.130375],[54.268406,9.915062],[51.948563,10.184125],[49.068562,9.721625],[46.877313,8.357875],[45.456063,6.266625],[44.937313,3.560375],[45.162156,1.623344],[45.854813,0.022875],[46.988875,-1.286188],[48.533563,-2.323375],[50.456688,-3.080563],[52.724812,-3.573375],[58.176063,-3.800875],[58.234969,-5.998063],[57.788563,-7.469625],[56.681531,-8.303375],[54.733563,-8.574625],[50.972312,-8.192125],[47.714812,-7.219625],[46.283563,-11.629625]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[53.882313,5.299125],[55.479969,5.090531],[56.711063,4.481625],[58.251062,2.767875],[58.237313,-0.197125],[55.523563,-0.232125],[53.223563,0.191625],[51.628562,1.107875],[51.191688,1.785219],[51.047313,2.622875],[51.239812,3.754125],[51.807313,4.596625],[52.702313,5.127406]]);
}
}
}
 
module poly_path66(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[130.590187,-7.785500],[128.031437,-8.273000],[126.565344,-8.056281],[125.362687,-7.424250],[124.466437,-6.454563],[123.933937,-5.250500],[124.001437,9.484500],[118.077687,9.512000],[117.971437,-13.294250],[122.580187,-13.316750],[123.276437,-10.313000],[123.451437,-10.314250],[124.360656,-11.807063],[125.546437,-12.911750],[126.972531,-13.611750],[128.637687,-13.850500],[131.332687,-13.358000],[130.590187,-7.785500]]);
}
}
 
module poly_path14(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-232.349188,-35.666875],[-182.797938,-35.898125],[-160.682938,-13.989375],[-160.450438,35.563125],[-232.014188,35.898125],[-232.349188,-35.666875]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-209.879188,-13.409375],[-209.752938,13.430625],[-182.920438,13.305625],[-183.046688,-13.534375],[-209.879188,-13.409375]]);
}
}
}
 
module poly_path74(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[154.225437,-13.464250],[157.375437,-13.479250],[157.354188,-17.769250],[163.271687,-19.481750],[163.299188,-13.506750],[168.866688,-13.533000],[168.890438,-8.515500],[163.322938,-8.489250],[163.364188,0.273250],[163.494344,2.303250],[163.861688,3.665750],[164.555906,4.429187],[165.669188,4.680750],[167.242937,4.488250],[168.720438,3.940750],[169.790437,8.493250],[166.929188,9.509500],[163.595438,9.930750],[160.862313,9.540125],[158.954187,8.335750],[157.837312,6.209187],[157.451687,3.034500],[157.397938,-8.461750],[154.249188,-8.445500],[154.225437,-13.464250]]);
}
}
 
module poly_path46(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-17.605063,-11.330500],[-13.281313,-12.655500],[-8.033813,-13.163000],[-5.857719,-13.029406],[-4.061313,-12.615500],[-2.629438,-11.924250],[-1.527563,-11.000500],[-0.723813,-9.854250],[-0.193813,-8.501750],[0.212437,-5.218000],[0.098687,-1.186750],[-0.045063,2.805750],[0.079937,6.615750],[0.783687,10.105750],[-4.050063,10.128250],[-5.022563,6.983250],[-5.251313,6.984500],[-6.332875,8.306531],[-7.768813,9.430750],[-9.618344,10.214344],[-11.941313,10.483250],[-14.816313,10.020750],[-17.007563,8.657000],[-18.436313,6.565750],[-18.951313,3.859500],[-18.725531,1.922469],[-18.026313,0.322000],[-16.895063,-0.986906],[-15.351313,-2.023000],[-13.425375,-2.781281],[-11.160063,-3.274250],[-5.706313,-3.501750],[-5.651000,-5.698938],[-6.092563,-7.170500],[-7.203031,-8.004250],[-9.152563,-8.275500],[-12.918813,-7.893000],[-16.170063,-6.920500],[-17.605063,-11.330500]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-9.998813,5.598250],[-8.407250,5.390125],[-7.173813,4.780750],[-5.631313,3.067000],[-5.645063,0.102000],[-8.360063,0.067000],[-10.661313,0.490750],[-12.256313,1.407000],[-12.696313,2.084344],[-12.840063,2.922000],[-12.647406,4.053250],[-12.075063,4.895750],[-11.181313,5.426531]]);
}
}
}
 
module poly_path30(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[-125.741688,10.653750],[-125.799188,-1.755000],[-125.957313,-4.443125],[-126.411687,-6.220000],[-127.327781,-7.208438],[-128.880437,-7.531250],[-130.280906,-7.315156],[-131.384188,-6.683750],[-132.224656,-5.710156],[-132.831688,-4.508750],[-132.761688,10.686250],[-138.689188,10.713750],[-138.796688,-12.092500],[-134.194187,-12.113750],[-133.492938,-9.111250],[-133.309188,-9.112500],[-132.123719,-10.484375],[-130.654188,-11.680000],[-128.806688,-12.502500],[-126.486688,-12.788750],[-124.498406,-12.577344],[-122.902938,-11.922500],[-121.661375,-10.735625],[-120.721688,-8.941250],[-119.532313,-10.539844],[-118.042938,-11.770000],[-116.236219,-12.570313],[-114.077938,-12.847500],[-110.816688,-12.408750],[-109.595906,-11.791406],[-108.621688,-10.841250],[-107.881375,-9.539219],[-107.352937,-7.861250],[-106.920438,-3.121250],[-106.856688,10.565000],[-112.786687,10.592500],[-112.846688,-2.221250],[-113.000750,-4.580781],[-113.434188,-6.262500],[-114.358406,-7.263438],[-115.971688,-7.591250],[-117.402469,-7.371563],[-118.500438,-6.715000],[-119.310125,-5.685313],[-119.881687,-4.335000],[-119.810438,10.626250],[-125.741688,10.653750]]);
}
}
 
module poly_path70(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[133.850562,-12.039750],[138.173062,-13.363500],[143.408062,-13.872250],[145.596344,-13.738656],[147.391813,-13.324750],[148.819156,-12.633500],[149.919312,-11.709750],[150.729781,-10.563500],[151.261812,-9.211000],[151.663062,-5.927250],[151.539312,-1.896000],[151.405562,2.096500],[151.535562,5.906500],[152.238062,9.396500],[147.406813,9.419000],[146.426812,6.274000],[146.209313,6.275250],[145.120875,7.597750],[143.681812,8.721500],[141.828531,9.505563],[139.516812,9.774000],[136.633062,9.311500],[134.443062,7.947750],[133.018062,5.856500],[132.496812,3.150250],[132.724469,1.213219],[133.421812,-0.387250],[134.559156,-1.696156],[136.100562,-2.732250],[138.019156,-3.490375],[140.289312,-3.982250],[145.745563,-4.211000],[145.802281,-6.408187],[145.355562,-7.879750],[144.249469,-8.713500],[142.296812,-8.984750],[138.534312,-8.602250],[135.275562,-7.629750],[133.850562,-12.039750]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[141.455562,4.889000],[143.042125,4.680875],[144.278062,4.071500],[145.815562,2.357750],[145.803063,-0.607250],[143.089313,-0.642250],[140.789312,-0.218500],[139.195562,0.697750],[138.753688,1.375563],[138.611812,2.212750],[138.804469,3.344000],[139.373063,4.186500],[140.269937,4.717281]]);
}
}
}
 
module poly_path90(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[-23.205063,10.872250],[-29.056313,10.899750],[-29.208813,-21.664000],[-23.357563,-21.691500],[-23.205063,10.872250]]);
}
}
 
module poly_path38(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-58.146312,2.302250],[-58.077562,6.141000],[-57.645062,10.378500],[-61.891312,10.399750],[-62.723813,7.443500],[-62.901312,7.444750],[-64.011937,8.887562],[-65.516312,10.032250],[-67.378187,10.768812],[-69.547562,11.023500],[-71.573285,10.856391],[-73.360531,10.335375],[-74.909418,9.459047],[-76.220062,8.226000],[-77.266059,6.617855],[-78.017094,4.610219],[-78.473051,2.201098],[-78.633813,-0.611500],[-78.481391,-3.367242],[-77.996625,-5.799313],[-77.180453,-7.907477],[-76.033813,-9.691500],[-74.561996,-11.115934],[-72.782094,-12.137594],[-70.693051,-12.755895],[-68.293813,-12.970250],[-65.968812,-12.821500],[-64.140062,-12.302750],[-64.182562,-21.561500],[-58.257563,-21.589000],[-58.146312,2.302250]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-68.205062,6.003500],[-66.652719,5.784750],[-65.468812,5.146000],[-64.621156,4.114281],[-64.068813,2.704750],[-64.115062,-6.970250],[-65.528812,-7.712750],[-67.538813,-7.957750],[-69.730844,-7.526188],[-71.293813,-6.249000],[-72.222719,-3.955250],[-72.518812,-0.454000],[-72.250844,2.179906],[-71.470062,4.233500],[-70.139438,5.565687]]);
}
}
}
 
module poly_path1088(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[46.482459,41.647066],[46.482459,-3.772989],[46.346967,-9.120684],[45.939241,-13.631023],[45.257402,-17.307759],[44.299573,-20.154648],[42.916807,-22.272136],[40.957654,-23.786951],[38.416482,-24.697217],[35.287657,-25.001056],[32.584083,-24.806111],[30.150865,-24.222527],[27.988006,-23.252182],[26.095503,-21.896952],[23.016432,-18.367285],[20.748434,-13.966466],[20.748434,41.647066],[-0.960270,41.647066],[-0.960270,-41.863352],[15.922052,-41.863352],[18.425362,-30.828762],[19.086236,-30.828762],[21.128311,-33.427823],[23.436988,-35.850401],[28.839131,-40.181127],[32.026783,-41.942206],[35.640624,-43.200119],[39.678776,-43.954867],[44.139361,-44.206450],[47.965983,-44.000553],[51.426496,-43.385364],[54.522777,-42.364640],[57.256705,-40.942134],[59.661760,-39.039618],[61.777682,-36.581368],[63.615738,-33.574893],[65.187190,-30.027703],[67.244911,-33.098012],[69.572989,-35.845395],[72.171425,-38.262340],[75.040218,-40.341339],[78.193450,-42.026693],[81.671486,-43.235166],[85.468694,-43.963003],[89.579442,-44.206450],[96.060511,-43.785894],[101.535250,-42.524226],[103.870838,-41.532915],[105.981128,-40.241207],[107.866121,-38.649102],[109.525815,-36.756600],[110.972102,-34.541483],[112.219376,-31.982788],[114.131905,-25.842169],[115.260898,-18.056875],[115.653918,-8.439158],[115.653918,41.647066],[93.905161,41.647066],[93.905161,-5.295001],[93.384473,-13.893870],[92.739245,-17.289297],[91.842434,-20.074543],[90.466552,-22.229892],[88.465469,-23.769428],[85.829797,-24.693149],[82.550148,-25.001056],[79.786494,-24.799227],[77.323237,-24.197494],[75.160377,-23.201489],[73.297914,-21.816846],[71.694544,-20.081427],[70.308962,-18.056875],[69.141168,-15.739436],[68.191162,-13.125354],[68.191162,41.647066],[46.482459,41.647066]]);
}
}
 
module poly_path1084(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-336.732227,-136.150017],[-148.182927,-136.150017],[-64.412166,-52.399282],[-64.412166,136.150017],[-336.732227,136.150017],[-336.732227,-136.150017]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-251.639718,51.057508],[-149.524701,51.057508],[-149.524701,-51.077535],[-251.639718,-51.077535],[-251.639718,51.057508]]);
}
}
}
 
module poly_path1098(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[157.761592,43.427420],[136.333260,43.427420],[136.333260,-75.810236],[157.761592,-75.810236],[157.761592,43.427420]]);
}
}
 
module poly_path1092(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[178.883520,-37.020949],[186.190681,-39.719517],[194.744491,-41.787251],[204.154433,-43.093979],[213.969911,-43.529555],[221.945456,-43.003860],[225.403779,-42.346741],[228.509135,-41.426774],[231.281237,-40.278381],[233.743556,-38.908445],[235.901722,-37.320720],[237.761368,-35.518963],[239.349405,-33.494098],[240.687737,-31.290873],[241.774487,-28.903654],[242.607776,-26.326809],[243.671683,-20.639289],[244.029656,-14.290895],[243.549020,0.488646],[242.948226,15.107976],[243.000796,22.189839],[243.368782,29.046405],[244.237431,35.607580],[245.872092,41.823299],[228.168685,41.823299],[224.664051,30.288047],[223.822939,30.288047],[221.977060,32.796676],[219.825153,35.126945],[217.354073,37.280730],[214.550679,39.259909],[211.377421,40.881115],[207.774219,42.046093],[203.739196,42.749210],[199.270475,42.984835],[193.720637,42.549259],[188.756574,41.242531],[184.403318,39.107208],[180.725956,36.235911],[177.774553,32.673701],[175.559124,28.525717],[174.172291,23.847031],[173.716688,18.612610],[173.927592,14.918350],[174.562807,11.528243],[175.626088,8.446042],[177.121190,5.675504],[179.032467,3.168126],[181.311730,0.906699],[183.958980,-1.103146],[186.974217,-2.855776],[190.348992,-4.362768],[194.041061,-5.614423],[198.044792,-6.618251],[202.354553,-7.381760],[211.812058,-8.187826],[222.320953,-8.122740],[222.677361,-12.475057],[222.573787,-16.160868],[222.008352,-19.182050],[220.979179,-21.540481],[219.345456,-23.359448],[216.936333,-24.647088],[213.749933,-25.412788],[209.784377,-25.665935],[203.090526,-25.332995],[196.006159,-24.324161],[189.399924,-22.772109],[184.070378,-20.799501],[178.883520,-37.020949]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[206.439955,25.121215],[209.525284,24.937535],[212.287687,24.387745],[214.719652,23.473724],[216.813671,22.197349],[220.150583,19.160834],[222.481164,15.929061],[222.481164,5.074710],[217.401949,4.776816],[212.548031,4.914498],[208.059596,5.452710],[204.096857,6.396457],[200.822527,7.835861],[198.269151,9.740879],[197.322900,10.905857],[196.647007,12.211646],[196.106292,15.268188],[196.275891,17.479549],[196.787192,19.426185],[197.643950,21.106219],[198.849919,22.517773],[200.351279,23.659595],[202.119242,24.472858],[204.150052,24.959439]]);
}
}
}
 
module poly_path1096(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[262.253752,-75.279535],[283.962455,-75.279535],[283.962455,-35.166497],[284.643355,-35.166497],[286.513015,-37.074019],[288.636135,-38.771263],[291.010837,-40.258229],[293.635244,-41.534917],[296.467114,-42.556894],[299.437917,-43.282228],[302.551408,-43.714675],[305.811344,-43.857989],[309.462186,-43.698325],[312.890078,-43.219019],[316.095488,-42.419603],[319.078886,-41.299606],[321.840741,-39.858560],[324.381522,-38.095996],[326.701699,-36.011442],[328.801741,-33.604432],[330.660449,-30.867962],[332.271329,-27.795188],[333.634381,-24.385876],[334.749606,-20.639790],[335.617003,-16.556696],[336.236572,-12.136359],[336.732227,-2.283019],[336.558560,3.187848],[336.037559,8.320063],[335.169223,13.112924],[333.953553,17.565725],[332.390549,21.677764],[330.480211,25.448335],[328.222538,28.876735],[325.617531,31.962260],[322.716000,34.700608],[319.554202,37.073081],[316.132842,39.079914],[312.452625,40.721342],[308.514253,41.997600],[304.318432,42.908922],[299.865865,43.455543],[295.157257,43.637698],[284.903700,43.204625],[275.611413,41.915421],[267.828623,40.055461],[262.253752,37.970204],[262.253752,-75.279535]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[299.482976,-25.493708],[296.618251,-25.299075],[294.033271,-24.717682],[291.729913,-23.753282],[289.710054,-22.409630],[287.944595,-20.687040],[286.400679,-18.617116],[285.074550,-16.205489],[283.962455,-13.457794],[283.962455,22.930318],[286.723606,24.071828],[289.710054,24.792781],[296.318793,25.293443],[300.479919,24.888533],[304.104086,23.676305],[307.195048,21.660515],[309.756560,18.844917],[311.777357,15.156915],[313.216134,10.518908],[314.076647,4.927140],[314.362650,-1.622145],[314.129881,-7.218959],[313.431732,-12.068770],[312.268436,-16.171812],[310.640228,-19.528320],[308.547344,-22.138529],[305.990017,-24.002674],[302.968483,-25.120988]]);
}
}
}
 
module MLAB_logo_long()
{
poly_path18(5);
poly_path62(5);
poly_path58(5);
poly_path34(5);
poly_path42(5);
poly_path94(5);
poly_path78(5);
poly_path86(5);
poly_path50(5);
poly_path82(5);
poly_path54(5);
poly_path66(5);
poly_path14(5);
poly_path74(5);
poly_path46(5);
poly_path30(5);
poly_path70(5);
poly_path90(5);
poly_path38(5);
}
 
module MLAB_logo_short()
{
poly_path1088(5);
poly_path1084(5);
poly_path1098(5);
poly_path1092(5);
poly_path1096(5);
}
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/sloupek.scad
0,0 → 1,71
include <manufactury_conf.scad>
include <../configuration.scad>
use <MLAB_logo.scad>
 
sloupek ();
 
 
//Funkce pro generovani sloupku
module sloupek() {
 
difference () {
translate([-(prumer_matice+2*tloustka_bocnice-2*radidus_hrany)/2,-(prumer_matice+2*tloustka_bocnice-2*radidus_hrany)/2,0])
minkowski()
{
cube([prumer_matice+2*tloustka_bocnice-2*radidus_hrany,prumer_matice+2*tloustka_bocnice-2*radidus_hrany,vyska_matice+2*tloustka_bocnice]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
translate([0,0,vyska_matice+2*tloustka_bocnice+0.1-tloustka_bocnice/2+0.2])
cylinder((tloustka_bocnice), d=(prumer_sroubu), center=true);
cylinder((vyska_matice+2*tloustka_bocnice), d=(prumer_sroubu), center=true);
//otvor na matici
translate([0,tloustka_bocnice/2-posuv_dorazu/2,(vyska_matice+2*tloustka_bocnice)/2])
cube([prumer_matice, prumer_matice+posuv_dorazu+tloustka_bocnice,vyska_matice], center = true);
}
 
difference () {
translate([-(prumer_matice+2*tloustka_bocnice)/2,-(prumer_matice+2*tloustka_bocnice)/2,-vyska_podpery])
rotate([0, 0, 45])
cylinder(vyska_podpery,0,sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))),$fn=4);
difference () {
 
 
 
translate([-((sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))*2))),-((sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))*2))),-vyska_podpery])
cube([2*(sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))*2)),2*(sqrt(2*((prumer_matice+2*tloustka_bocnice)*(prumer_matice+2*tloustka_bocnice))*2)),vyska_podpery+0.1]);
translate([-(prumer_matice+2*tloustka_bocnice-2*radidus_hrany)/2,-(prumer_matice+2*tloustka_bocnice-2*radidus_hrany)/2,-vyska_podpery+0.05])
minkowski()
{
cube([prumer_matice+2*tloustka_bocnice-2*radidus_hrany,prumer_matice+2*tloustka_bocnice-2*radidus_hrany,vyska_podpery+0.01]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
}
}
 
}
 
 
 
 
 
 
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/spodni_kryt.scad
0,0 → 1,72
use <text/Write.scad>
use <MLAB_logo.scad>
use <sloupek.scad>
use <plbase.scad>
use <bocnice.scad>
include <manufactury_conf.scad>
include <../configuration.scad>
 
spodni_kryt(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice);
 
//Spodni kryt - aby nebyli vidět matice ze spodu boxu
//------------------------------------------------------------
 
 
module spodni_kryt(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice){
translate([-((pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje)/2,-vzdalenost_od_okraje,(vyska_prekryti_spodni+vyska_prekryti_vrchni+tloustka_plbase)])
rotate(a=[180,0,90])
translate([radidus_hrany,radidus_hrany,0])
translate([-2*tloustka_bocnice,-2*tloustka_bocnice,0])
 
difference () {
 
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_prekryti_spodni+vyska_prekryti_vrchni+sila_spodniho_krytu]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
translate([tloustka_bocnice-tolerance_na_nasunuti,tloustka_bocnice-tolerance_na_nasunuti,-sila_spodniho_krytu])
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice+2*tolerance_na_nasunuti,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice+2*tolerance_na_nasunuti,vyska_prekryti_spodni+
vyska_prekryti_vrchni+sila_spodniho_krytu+0.2]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
translate([0,0,-vyska_prekryti_spodni-sila_spodniho_krytu])
difference () {
 
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+4*tloustka_bocnice,vyska_prekryti_spodni+
vyska_prekryti_vrchni+sila_spodniho_krytu]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
 
translate([tloustka_bocnice,tloustka_bocnice,-0.1])
minkowski()
{
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje-2*radidus_hrany+2*tloustka_bocnice,vyska_prekryti_spodni+
vyska_prekryti_vrchni+sila_spodniho_krytu+0.2]); // base plastics brick
cylinder(r=radidus_hrany,h=0.1);
}
translate([-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1+prekryti_tolerance/2,-radidus_hrany-0.25,-0.1])
 
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice-vzdalenost_der-2*tloustka_bocnice-2-prekryti_tolerance,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice+0.5,vyska_bocnice+sila_spodniho_krytu+0.2]);
 
translate([-radidus_hrany-0.25,-radidus_hrany+vzdalenost_der/2+tloustka_bocnice+1+prekryti_tolerance/2,-0.1])
 
cube([(pocet_der1)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice+0.5,(pocet_der2)*vzdalenost_der+2*vzdalenost_od_okraje+4*tloustka_bocnice-vzdalenost_der-2*tloustka_bocnice-2-prekryti_tolerance,vyska_bocnice+sila_spodniho_krytu+0.2]);
 
}
 
}
}
 
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/text/Letters.dxf
0,0 → 1,14688
999
DXF created by Inkscape
0
SECTION
2
HEADER
9
$ACADVER
1
AC1014
9
$HANDSEED
5
FFFF
9
$MEASUREMENT
70
1
0
ENDSEC
0
SECTION
2
TABLES
0
TABLE
2
VPORT
5
8
330
 
100
AcDbSymbolTable
70
4
0
VPORT
5
2E
330
8
100
AcDbSymbolTableRecord
100
AcDbViewportTableRecord
2
*ACTIVE
70
0
10
0.0
20
0.0
11
1.0
21
1.0
12
210.0
22
148.5
13
0.0
23
0.0
14
10.0
24
10.0
15
10.0
25
10.0
16
0.0
26
0.0
36
1.0
17
0.0
27
0.0
37
0.0
40
341.0
41
1.24
42
50.0
43
0.0
44
0.0
50
0.0
51
0.0
71
0
72
100
73
1
74
3
75
0
76
0
77
0
78
0
0
ENDTAB
0
TABLE
2
LTYPE
5
5
330
 
100
AcDbSymbolTable
70
1
0
LTYPE
5
14
330
5
100
AcDbSymbolTableRecord
100
AcDbLinetypeTableRecord
2
BYBLOCK
70
0
3
 
72
65
73
0
40
0.0
0
LTYPE
5
15
330
5
100
AcDbSymbolTableRecord
100
AcDbLinetypeTableRecord
2
BYLAYER
70
0
3
 
72
65
73
0
40
0.0
0
LTYPE
5
16
330
5
100
AcDbSymbolTableRecord
100
AcDbLinetypeTableRecord
2
CONTINUOUS
70
0
3
Solid line
72
65
73
0
40
0.0
0
ENDTAB
0
TABLE
2
LAYER
5
2
100
AcDbSymbolTable
70
93
0
LAYER
5
50
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
 
70
 
6
CONTINUOUS
0
LAYER
5
51
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
A
70
 
6
CONTINUOUS
0
LAYER
5
52
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
B
70
 
6
CONTINUOUS
0
LAYER
5
53
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
C
70
 
6
CONTINUOUS
0
LAYER
5
54
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
D
70
 
6
CONTINUOUS
0
LAYER
5
55
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
E
70
 
6
CONTINUOUS
0
LAYER
5
56
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
F
70
 
6
CONTINUOUS
0
LAYER
5
57
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
G
70
 
6
CONTINUOUS
0
LAYER
5
58
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
H
70
 
6
CONTINUOUS
0
LAYER
5
59
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
I
70
 
6
CONTINUOUS
0
LAYER
5
5a
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
J
70
 
6
CONTINUOUS
0
LAYER
5
5b
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
K
70
 
6
CONTINUOUS
0
LAYER
5
5c
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
L
70
 
6
CONTINUOUS
0
LAYER
5
5d
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
M
70
 
6
CONTINUOUS
0
LAYER
5
5e
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
N
70
 
6
CONTINUOUS
0
LAYER
5
5f
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
O
70
 
6
CONTINUOUS
0
LAYER
5
60
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
P
70
 
6
CONTINUOUS
0
LAYER
5
61
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
Q
70
 
6
CONTINUOUS
0
LAYER
5
62
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
R
70
 
6
CONTINUOUS
0
LAYER
5
63
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
S
70
 
6
CONTINUOUS
0
LAYER
5
64
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
T
70
 
6
CONTINUOUS
0
LAYER
5
65
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
U
70
 
6
CONTINUOUS
0
LAYER
5
66
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
V
70
 
6
CONTINUOUS
0
LAYER
5
67
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
W
70
 
6
CONTINUOUS
0
LAYER
5
68
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
X
70
 
6
CONTINUOUS
0
LAYER
5
69
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
Y
70
 
6
CONTINUOUS
0
LAYER
5
6a
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
Z
70
 
6
CONTINUOUS
0
LAYER
5
6b
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
1
70
 
6
CONTINUOUS
0
LAYER
5
6c
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
2
70
 
6
CONTINUOUS
0
LAYER
5
6d
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
3
70
 
6
CONTINUOUS
0
LAYER
5
6e
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
4
70
 
6
CONTINUOUS
0
LAYER
5
6f
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
5
70
 
6
CONTINUOUS
0
LAYER
5
70
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
6
70
 
6
CONTINUOUS
0
LAYER
5
71
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
7
70
 
6
CONTINUOUS
0
LAYER
5
72
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
8
70
 
6
CONTINUOUS
0
LAYER
5
73
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
9
70
 
6
CONTINUOUS
0
LAYER
5
74
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
a_
70
 
6
CONTINUOUS
0
LAYER
5
75
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
b_
70
 
6
CONTINUOUS
0
LAYER
5
76
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
c_
70
 
6
CONTINUOUS
0
LAYER
5
77
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
d_
70
 
6
CONTINUOUS
0
LAYER
5
78
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
e_
70
 
6
CONTINUOUS
0
LAYER
5
79
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
f_
70
 
6
CONTINUOUS
0
LAYER
5
7a
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
g_
70
 
6
CONTINUOUS
0
LAYER
5
7b
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
h_
70
 
6
CONTINUOUS
0
LAYER
5
7c
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
i_
70
 
6
CONTINUOUS
0
LAYER
5
7d
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
j_
70
 
6
CONTINUOUS
0
LAYER
5
7e
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
k_
70
 
6
CONTINUOUS
0
LAYER
5
7f
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
l_
70
 
6
CONTINUOUS
0
LAYER
5
80
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
m_
70
 
6
CONTINUOUS
0
LAYER
5
81
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
n_
70
 
6
CONTINUOUS
0
LAYER
5
82
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
o_
70
 
6
CONTINUOUS
0
LAYER
5
83
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
p_
70
 
6
CONTINUOUS
0
LAYER
5
84
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
q_
70
 
6
CONTINUOUS
0
LAYER
5
85
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
r_
70
 
6
CONTINUOUS
0
LAYER
5
86
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
s_
70
 
6
CONTINUOUS
0
LAYER
5
87
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
t_
70
 
6
CONTINUOUS
0
LAYER
5
88
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
u_
70
 
6
CONTINUOUS
0
LAYER
5
89
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
v_
70
 
6
CONTINUOUS
0
LAYER
5
8a
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
w_
70
 
6
CONTINUOUS
0
LAYER
5
8b
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
x_
70
 
6
CONTINUOUS
0
LAYER
5
8c
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
y_
70
 
6
CONTINUOUS
0
LAYER
5
8d
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
z_
70
 
6
CONTINUOUS
0
LAYER
5
8e
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
~
70
 
6
CONTINUOUS
0
LAYER
5
8f
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
!
70
 
6
CONTINUOUS
0
LAYER
5
90
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
@
70
 
6
CONTINUOUS
0
LAYER
5
91
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
#
70
 
6
CONTINUOUS
0
LAYER
5
92
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
$
70
 
6
CONTINUOUS
0
LAYER
5
93
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
%
70
 
6
CONTINUOUS
0
LAYER
5
94
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
^
70
 
6
CONTINUOUS
0
LAYER
5
95
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
&
70
 
6
CONTINUOUS
0
LAYER
5
96
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
*
70
 
6
CONTINUOUS
0
LAYER
5
97
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
(
70
 
6
CONTINUOUS
0
LAYER
5
98
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
)
70
 
6
CONTINUOUS
0
LAYER
5
99
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
_
70
 
6
CONTINUOUS
0
LAYER
5
9a
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
+
70
 
6
CONTINUOUS
0
LAYER
5
9b
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
-
70
 
6
CONTINUOUS
0
LAYER
5
9c
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
=
70
 
6
CONTINUOUS
0
LAYER
5
9d
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
,
70
 
6
CONTINUOUS
0
LAYER
5
9e
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
.
70
 
6
CONTINUOUS
0
LAYER
5
9f
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
<
70
 
6
CONTINUOUS
0
LAYER
5
a0
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
>
70
 
6
CONTINUOUS
0
LAYER
5
a1
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
?
70
 
6
CONTINUOUS
0
LAYER
5
a2
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
/
70
 
6
CONTINUOUS
0
LAYER
5
a3
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
;
70
 
6
CONTINUOUS
0
LAYER
5
a4
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
:
70
 
6
CONTINUOUS
0
LAYER
5
a5
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
'
70
 
6
CONTINUOUS
0
LAYER
5
a6
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
`
70
 
6
CONTINUOUS
0
LAYER
5
a7
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
"
70
 
6
CONTINUOUS
0
LAYER
5
a8
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
[
70
 
6
CONTINUOUS
0
LAYER
5
a9
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
]
70
 
6
CONTINUOUS
0
LAYER
5
aa
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
{
70
 
6
CONTINUOUS
0
LAYER
5
ab
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
}
70
 
6
CONTINUOUS
0
LAYER
5
ac
100
AcDbSymbolTableRecord
100
AcDbLayerTableRecord
2
|
70
 
6
CONTINUOUS
0
ENDTAB
0
TABLE
2
STYLE
5
3
330
 
100
AcDbSymbolTable
70
1
0
STYLE
5
11
330
3
100
AcDbSymbolTableRecord
100
AcDbTextStyleTableRecord
2
STANDARD
70
0
40
0.0
41
1.0
50
0.0
71
0
42
2.5
3
txt
4
 
0
ENDTAB
0
TABLE
2
VIEW
5
6
330
 
100
AcDbSymbolTable
70
0
0
ENDTAB
0
TABLE
2
UCS
5
7
330
 
100
AcDbSymbolTable
70
0
0
ENDTAB
0
TABLE
2
APPID
5
9
330
 
100
AcDbSymbolTable
70
2
0
APPID
5
12
330
9
100
AcDbSymbolTableRecord
100
AcDbRegAppTableRecord
2
ACAD
70
0
0
ENDTAB
0
TABLE
2
DIMSTYLE
5
A
330
 
100
AcDbSymbolTable
70
1
0
DIMSTYLE
105
27
330
A
100
AcDbSymbolTableRecord
100
AcDbDimStyleTableRecord
2
ISO-25
70
0
3
 
4
 
5
 
6
 
7
 
40
1.0
41
2.5
42
0.625
43
3.75
44
1.25
45
0.0
46
0.0
47
0.0
48
0.0
140
2.5
141
2.5
142
0.0
143
0.03937007874016
144
1.0
145
0.0
146
1.0
147
0.625
71
0
72
0
73
0
74
0
75
0
76
0
77
1
78
8
170
0
171
3
172
1
173
0
174
0
175
0
176
0
177
0
178
0
270
2
271
2
272
2
273
2
274
3
340
11
275
0
280
0
281
0
282
0
283
0
284
8
285
0
286
0
287
3
288
0
0
ENDTAB
0
TABLE
2
BLOCK_RECORD
5
1
330
 
100
AcDbSymbolTable
70
1
0
BLOCK_RECORD
5
1F
330
1
100
AcDbSymbolTableRecord
100
AcDbBlockTableRecord
2
*MODEL_SPACE
0
BLOCK_RECORD
5
1B
330
1
100
AcDbSymbolTableRecord
100
AcDbBlockTableRecord
2
*PAPER_SPACE
0
ENDTAB
0
ENDSEC
0
SECTION
2
BLOCKS
0
BLOCK
5
20
330
1F
100
AcDbEntity
8
 
100
AcDbBlockBegin
2
*MODEL_SPACE
70
0
10
0.0
20
0.0
30
0.0
3
*MODEL_SPACE
1
 
0
ENDBLK
5
21
330
1F
100
AcDbEntity
8
 
100
AcDbBlockEnd
0
BLOCK
5
1C
330
1B
100
AcDbEntity
67
1
8
 
100
AcDbBlockBegin
2
*PAPER_SPACE
1
 
0
ENDBLK
5
1D
330
1B
100
AcDbEntity
67
1
8
 
100
AcDbBlockEnd
0
ENDSEC
0
SECTION
2
ENTITIES
0
LWPOLYLINE
5
100
100
AcDbEntity
8
A
62
7
100
AcDbPolyline
90
9
70
 
10
0.000282
20
0.000284
30
0.0
10
2.084860
20
8.081096
30
0.0
10
2.858708
20
8.081096
30
0.0
10
5.080282
20
0.000284
30
0.0
10
4.262002
20
0.000284
30
0.0
10
3.628854
20
2.447686
30
0.0
10
1.359145
20
2.447686
30
0.0
10
0.763023
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
101
100
AcDbEntity
8
A
62
7
100
AcDbPolyline
90
6
70
 
10
1.566492
20
3.318596
30
0.0
10
3.406696
20
3.318596
30
0.0
10
2.840195
20
5.556534
30
0.0
10
2.455122
20
7.232228
30
0.0
10
2.162615
20
5.688811
30
0.0
10
1.566492
20
3.318596
30
0.0
0
LWPOLYLINE
5
102
100
AcDbEntity
8
B
62
7
100
AcDbPolyline
90
15
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
2.524221
20
8.081096
30
0.0
10
3.760951
20
7.835817
30
0.0
10
4.490598
20
7.080646
30
0.0
10
4.754465
20
6.014044
30
0.0
10
4.520427
20
5.038402
30
0.0
10
3.813724
20
4.299770
30
0.0
10
4.752170
20
3.566641
30
0.0
10
5.080282
20
2.342954
30
0.0
10
4.880661
20
1.287358
30
0.0
10
4.387346
20
0.534954
30
0.0
10
3.650815
20
0.135327
30
0.0
10
2.565522
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
103
100
AcDbEntity
8
B
62
7
100
AcDbPolyline
90
10
70
 
10
0.890544
20
4.685624
30
0.0
10
2.345251
20
4.685624
30
0.0
10
3.194212
20
4.779322
30
0.0
10
3.705883
20
5.181714
30
0.0
10
3.877970
20
5.887270
30
0.0
10
3.717355
20
6.595563
30
0.0
10
3.258457
20
7.014494
30
0.0
10
2.235115
20
7.127495
30
0.0
10
0.890544
20
7.127495
30
0.0
10
0.890544
20
4.685624
30
0.0
0
LWPOLYLINE
5
104
100
AcDbEntity
8
B
62
7
100
AcDbPolyline
90
11
70
 
10
0.890544
20
0.953884
30
0.0
10
2.565522
20
0.953884
30
0.0
10
3.171267
20
0.992464
30
0.0
10
3.685233
20
1.212964
30
0.0
10
4.024817
20
1.662206
30
0.0
10
4.157897
20
2.342954
30
0.0
10
3.965160
20
3.128435
30
0.0
10
3.430544
20
3.596952
30
0.0
10
2.446208
20
3.732023
30
0.0
10
0.890544
20
3.732023
30
0.0
10
0.890544
20
0.953884
30
0.0
0
LWPOLYLINE
5
105
100
AcDbEntity
8
C
62
7
100
AcDbPolyline
90
23
70
 
10
4.319850
20
2.971322
30
0.0
10
5.080282
20
2.701235
30
0.0
10
4.219896
20
0.692067
30
0.0
10
2.700992
20
0.000284
30
0.0
10
1.189927
20
0.532216
30
0.0
10
0.304063
20
2.072839
30
0.0
10
0.000282
20
4.239120
30
0.0
10
0.343261
20
6.441244
30
0.0
10
1.319279
20
7.868893
30
0.0
10
2.712751
20
8.356714
30
0.0
10
4.163060
20
7.739353
30
0.0
10
4.982288
20
6.003009
30
0.0
10
4.233616
20
5.754964
30
0.0
10
3.653492
20
7.039301
30
0.0
10
2.697072
20
7.441693
30
0.0
10
1.589742
20
6.995218
30
0.0
10
0.964541
20
5.796310
30
0.0
10
0.784233
20
4.244652
30
0.0
10
0.997859
20
2.444921
30
0.0
10
1.662258
20
1.295627
30
0.0
10
2.638276
20
0.915304
30
0.0
10
3.720128
20
1.433436
30
0.0
10
4.319850
20
2.971322
30
0.0
0
LWPOLYLINE
5
106
100
AcDbEntity
8
D
62
7
100
AcDbPolyline
90
13
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
2.116949
20
8.081096
30
0.0
10
3.210909
20
7.965357
30
0.0
10
4.112064
20
7.386575
30
0.0
10
4.839276
20
6.005775
30
0.0
10
5.080282
20
4.084801
30
0.0
10
4.916817
20
2.453190
30
0.0
10
4.497675
20
1.276351
30
0.0
10
3.938120
20
0.543223
30
0.0
10
3.204622
20
0.138093
30
0.0
10
2.217543
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
107
100
AcDbEntity
8
D
62
7
100
AcDbPolyline
90
11
70
 
10
0.813418
20
0.953884
30
0.0
10
2.125332
20
0.953884
30
0.0
10
3.078880
20
1.102700
30
0.0
10
3.630051
20
1.521631
30
0.0
10
4.080629
20
2.544150
30
0.0
10
4.241998
20
4.101311
30
0.0
10
3.925546
20
6.049858
30
0.0
10
3.156421
20
6.962141
30
0.0
10
2.104375
20
7.127495
30
0.0
10
0.813418
20
7.127495
30
0.0
10
0.813418
20
0.953884
30
0.0
0
LWPOLYLINE
5
108
100
AcDbEntity
8
E
62
7
100
AcDbPolyline
90
15
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
0.910743
20
8.081096
30
0.0
10
4.922403
20
8.081096
30
0.0
10
4.922403
20
7.127495
30
0.0
10
0.901123
20
7.127495
30
0.0
10
0.901123
20
4.652548
30
0.0
10
4.667010
20
4.652548
30
0.0
10
4.667010
20
3.704450
30
0.0
10
0.901123
20
3.704450
30
0.0
10
0.901123
20
0.953884
30
0.0
10
5.080282
20
0.953884
30
0.0
10
5.080282
20
0.000284
30
0.0
10
0.910743
20
0.028732
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
109
100
AcDbEntity
8
F
62
7
100
AcDbPolyline
90
11
70
 
10
0.000564
20
0.000284
30
0.0
10
0.000564
20
8.081096
30
0.0
10
5.080564
20
8.081096
30
0.0
10
5.080564
20
7.127495
30
0.0
10
0.997046
20
7.127495
30
0.0
10
0.997046
20
4.624974
30
0.0
10
4.530959
20
4.624974
30
0.0
10
4.530959
20
3.671374
30
0.0
10
0.997046
20
3.671374
30
0.0
10
0.997046
20
0.000284
30
0.0
10
0.000564
20
0.000284
30
0.0
0
LWPOLYLINE
5
10a
100
AcDbEntity
8
G
62
7
100
AcDbPolyline
90
30
70
 
10
2.753822
20
3.307561
30
0.0
10
2.753822
20
4.255658
30
0.0
10
5.080282
20
4.261303
30
0.0
10
5.080282
20
1.262692
30
0.0
10
3.975120
20
0.317332
30
0.0
10
2.806270
20
0.000396
30
0.0
10
1.335843
20
0.510259
30
0.0
10
0.337450
20
1.984757
30
0.0
10
0.000282
20
4.140032
30
0.0
10
0.335577
20
6.342127
30
0.0
10
1.300253
20
7.860737
30
0.0
10
2.750076
20
8.356827
30
0.0
10
3.827141
20
8.072940
30
0.0
10
4.582023
20
7.281956
30
0.0
10
4.997863
20
5.959039
30
0.0
10
4.342259
20
5.694456
30
0.0
10
4.035061
20
6.664594
30
0.0
10
3.510577
20
7.229575
30
0.0
10
2.753822
20
7.441806
30
0.0
10
1.892170
20
7.218568
30
0.0
10
1.305872
20
6.631518
30
0.0
10
0.959338
20
5.832265
30
0.0
10
0.749545
20
4.206157
30
0.0
10
1.002421
20
2.398185
30
0.0
10
1.738571
20
1.317810
30
0.0
10
2.765061
20
0.965032
30
0.0
10
3.686654
20
1.232353
30
0.0
10
4.368483
20
1.802865
30
0.0
10
4.368483
20
3.307674
30
0.0
10
2.753822
20
3.307561
30
0.0
0
LWPOLYLINE
5
10b
100
AcDbEntity
8
H
62
7
100
AcDbPolyline
90
13
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
0.857256
20
8.081096
30
0.0
10
0.857256
20
4.762784
30
0.0
10
4.223308
20
4.762784
30
0.0
10
4.223308
20
8.081096
30
0.0
10
5.080282
20
8.081096
30
0.0
10
5.080282
20
0.000284
30
0.0
10
4.223308
20
0.000284
30
0.0
10
4.223308
20
3.809183
30
0.0
10
0.857256
20
3.809183
30
0.0
10
0.857256
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
10c
100
AcDbEntity
8
I
62
7
100
AcDbPolyline
90
5
70
 
10
1.975556
20
0.000288
30
0.0
10
1.975556
20
8.081101
30
0.0
10
3.044913
20
8.081101
30
0.0
10
3.044913
20
0.000288
30
0.0
10
1.975556
20
0.000288
30
0.0
0
LWPOLYLINE
5
10d
100
AcDbEntity
8
J
62
7
100
AcDbPolyline
90
15
70
 
10
0.001110
20
2.431153
30
0.0
10
0.965737
20
2.563431
30
0.0
10
1.313003
20
1.295632
30
0.0
10
2.167386
20
0.953889
30
0.0
10
2.861918
20
1.138547
30
0.0
10
3.264305
20
1.640141
30
0.0
10
3.374548
20
2.651625
30
0.0
10
3.374548
20
8.218910
30
0.0
10
4.443906
20
8.218910
30
0.0
10
4.443906
20
2.712275
30
0.0
10
4.198615
20
1.141313
30
0.0
10
3.421401
20
0.292417
30
0.0
10
2.172899
20
0.000288
30
0.0
10
0.544057
20
0.612146
30
0.0
10
0.001110
20
2.431153
30
0.0
0
LWPOLYLINE
5
10e
100
AcDbEntity
8
K
62
7
100
AcDbPolyline
90
13
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
0.813418
20
8.081096
30
0.0
10
0.813418
20
4.073766
30
0.0
10
3.864771
20
8.081096
30
0.0
10
4.967114
20
8.081096
30
0.0
10
2.389391
20
4.806867
30
0.0
10
5.080282
20
0.000284
30
0.0
10
4.007279
20
0.000284
30
0.0
10
1.819358
20
4.090304
30
0.0
10
0.813418
20
2.800464
30
0.0
10
0.813418
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
10f
100
AcDbEntity
8
L
62
7
100
AcDbPolyline
90
7
70
 
10
0.000564
20
0.000284
30
0.0
10
0.000564
20
8.081096
30
0.0
10
1.069922
20
8.081096
30
0.0
10
1.069922
20
0.953884
30
0.0
10
5.049696
20
0.953884
30
0.0
10
5.049696
20
0.000284
30
0.0
10
0.000564
20
0.000284
30
0.0
0
LWPOLYLINE
5
110
100
AcDbEntity
8
M
62
7
100
AcDbPolyline
90
16
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
1.060582
20
8.081096
30
0.0
10
2.320597
20
2.359492
30
0.0
10
2.574778
20
1.163350
30
0.0
10
2.858009
20
2.458693
30
0.0
10
4.132548
20
8.081096
30
0.0
10
5.080282
20
8.081096
30
0.0
10
5.080282
20
0.000284
30
0.0
10
4.401254
20
0.000284
30
0.0
10
4.401254
20
6.763683
30
0.0
10
2.854378
20
0.000284
30
0.0
10
2.218924
20
0.000284
30
0.0
10
0.679310
20
6.879450
30
0.0
10
0.679310
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
111
100
AcDbEntity
8
N
62
7
100
AcDbPolyline
90
11
70
 
10
0.000564
20
0.000284
30
0.0
10
0.000564
20
8.081096
30
0.0
10
0.875820
20
8.081096
30
0.0
10
4.262486
20
1.736599
30
0.0
10
4.262486
20
8.081096
30
0.0
10
5.080564
20
8.081096
30
0.0
10
5.080564
20
0.000284
30
0.0
10
4.205309
20
0.000284
30
0.0
10
0.818642
20
6.350284
30
0.0
10
0.818642
20
0.000284
30
0.0
10
0.000564
20
0.000284
30
0.0
0
LWPOLYLINE
5
112
100
AcDbEntity
8
O
62
7
100
AcDbPolyline
90
12
70
 
10
0.000282
20
4.073766
30
0.0
10
0.710468
20
7.223959
30
0.0
10
2.543906
20
8.362218
30
0.0
10
3.870068
20
7.827548
30
0.0
10
4.770482
20
6.336511
30
0.0
10
5.080282
20
4.167464
30
0.0
10
4.754177
20
1.968134
30
0.0
10
3.830211
20
0.499140
30
0.0
10
2.540282
20
0.000284
30
0.0
10
1.199626
20
0.551492
30
0.0
10
0.304647
20
2.056329
30
0.0
10
0.000282
20
4.073766
30
0.0
0
LWPOLYLINE
5
113
100
AcDbEntity
8
O
62
7
100
AcDbPolyline
90
10
70
 
10
0.724961
20
4.057115
30
0.0
10
1.241295
20
1.755790
30
0.0
10
2.536659
20
0.915192
30
0.0
10
3.842893
20
1.764060
30
0.0
10
4.355603
20
4.172883
30
0.0
10
4.136388
20
5.895426
30
0.0
10
3.495047
20
7.036422
30
0.0
10
2.547529
20
7.441580
30
0.0
10
1.263035
20
6.661603
30
0.0
10
0.724961
20
4.057115
30
0.0
0
LWPOLYLINE
5
114
100
AcDbEntity
8
P
62
7
100
AcDbPolyline
90
12
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
2.510774
20
8.081096
30
0.0
10
3.523142
20
8.003936
30
0.0
10
4.344840
20
7.626351
30
0.0
10
4.878262
20
6.846374
30
0.0
10
5.080282
20
5.743957
30
0.0
10
4.540050
20
3.999344
30
0.0
10
2.587950
20
3.285520
30
0.0
10
0.880997
20
3.285520
30
0.0
10
0.880997
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
115
100
AcDbEntity
8
P
62
7
100
AcDbPolyline
90
9
70
 
10
0.880997
20
4.239120
30
0.0
10
2.601569
20
4.239120
30
0.0
10
3.813687
20
4.624974
30
0.0
10
4.172329
20
5.710881
30
0.0
10
3.961230
20
6.579025
30
0.0
10
3.405108
20
7.055839
30
0.0
10
2.583410
20
7.127495
30
0.0
10
0.880997
20
7.127495
30
0.0
10
0.880997
20
4.239120
30
0.0
0
LWPOLYLINE
5
116
100
AcDbEntity
8
Q
62
7
100
AcDbPolyline
90
16
70
 
10
4.195723
20
1.494086
30
0.0
10
5.080282
20
0.744419
30
0.0
10
4.877793
20
0.000284
30
0.0
10
3.758772
20
0.992464
30
0.0
10
2.479891
20
0.490870
30
0.0
10
1.197457
20
1.020037
30
0.0
10
0.311121
20
2.508308
30
0.0
10
0.000282
20
4.669086
30
0.0
10
0.312898
20
6.846374
30
0.0
10
1.202786
20
8.340176
30
0.0
10
2.494100
20
8.852804
30
0.0
10
3.794296
20
8.320872
30
0.0
10
4.677079
20
6.832601
30
0.0
10
4.980814
20
4.674589
30
0.0
10
4.785429
20
2.880390
30
0.0
10
4.195723
20
1.494086
30
0.0
0
LWPOLYLINE
5
117
100
AcDbEntity
8
Q
62
7
100
AcDbPolyline
90
13
70
 
10
2.678828
20
2.861086
30
0.0
10
3.662856
20
2.089377
30
0.0
10
4.270324
20
4.674589
30
0.0
10
4.055401
20
6.388863
30
0.0
10
3.426618
20
7.527122
30
0.0
10
2.497653
20
7.932280
30
0.0
10
1.218772
20
7.113723
30
0.0
10
0.710772
20
4.669086
30
0.0
10
1.213443
20
2.249228
30
0.0
10
2.497653
20
1.405891
30
0.0
10
3.193933
20
1.620860
30
0.0
10
2.511863
20
2.083874
30
0.0
10
2.678828
20
2.861086
30
0.0
0
LWPOLYLINE
5
118
100
AcDbEntity
8
R
62
7
100
AcDbPolyline
90
20
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
2.556010
20
8.081096
30
0.0
10
3.727713
20
7.863362
30
0.0
10
4.368610
20
7.094419
30
0.0
10
4.608456
20
5.876235
30
0.0
10
4.211335
20
4.426544
30
0.0
10
2.984586
20
3.676877
30
0.0
10
3.444617
20
3.274513
30
0.0
10
4.077651
20
2.199641
30
0.0
10
5.080282
20
0.000284
30
0.0
10
4.120901
20
0.000284
30
0.0
10
3.358115
20
1.681481
30
0.0
10
2.807651
20
2.794933
30
0.0
10
2.420360
20
3.335134
30
0.0
10
2.072388
20
3.550103
30
0.0
10
1.647743
20
3.588683
30
0.0
10
0.763069
20
3.588683
30
0.0
10
0.763069
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
119
100
AcDbEntity
8
R
62
7
100
AcDbPolyline
90
9
70
 
10
0.763069
20
4.514738
30
0.0
10
2.402666
20
4.514738
30
0.0
10
3.220499
20
4.666320
30
0.0
10
3.668734
20
5.151375
30
0.0
10
3.822078
20
5.876235
30
0.0
10
3.525220
20
6.818829
30
0.0
10
2.587465
20
7.188117
30
0.0
10
0.763069
20
7.188117
30
0.0
10
0.763069
20
4.514738
30
0.0
0
LWPOLYLINE
5
11a
100
AcDbEntity
8
S
62
7
100
AcDbPolyline
90
36
70
 
10
0.000282
20
2.734311
30
0.0
10
0.796889
20
2.822506
30
0.0
10
1.060248
20
1.827560
30
0.0
10
1.702322
20
1.199164
30
0.0
10
2.681756
20
0.959388
30
0.0
10
3.534952
20
1.141308
30
0.0
10
4.085612
20
1.640136
30
0.0
10
4.266263
20
2.331919
30
0.0
10
4.092142
20
2.996129
30
0.0
10
3.517540
20
3.472943
30
0.0
10
2.381396
20
3.867067
30
0.0
10
1.149485
20
4.371426
30
0.0
10
0.468234
20
5.123830
30
0.0
10
0.244053
20
6.129783
30
0.0
10
0.518294
20
7.273574
30
0.0
10
1.319254
20
8.081096
30
0.0
10
2.490222
20
8.356714
30
0.0
10
3.741722
20
8.067324
30
0.0
10
4.575329
20
7.215690
30
0.0
10
4.888748
20
5.942388
30
0.0
10
4.079082
20
5.865200
30
0.0
10
3.637249
20
7.022763
30
0.0
10
2.525047
20
7.414120
30
0.0
10
1.408491
20
7.058605
30
0.0
10
1.058071
20
6.201468
30
0.0
10
1.306195
20
5.484877
30
0.0
10
2.579460
20
4.908862
30
0.0
10
3.992022
20
4.393468
30
0.0
10
4.814747
20
3.569407
30
0.0
10
5.080282
20
2.420113
30
0.0
10
4.788628
20
1.204695
30
0.0
10
3.950668
20
0.317219
30
0.0
10
2.720933
20
0.000284
30
0.0
10
1.269194
20
0.319985
30
0.0
10
0.350702
20
1.281855
30
0.0
10
0.000282
20
2.734311
30
0.0
0
LWPOLYLINE
5
11b
100
AcDbEntity
8
T
62
7
100
AcDbPolyline
90
9
70
 
10
1.994539
20
0.000284
30
0.0
10
1.994539
20
7.127495
30
0.0
10
0.000282
20
7.127495
30
0.0
10
0.000282
20
8.081096
30
0.0
10
4.798060
20
8.081096
30
0.0
10
4.798060
20
7.127495
30
0.0
10
2.795545
20
7.127495
30
0.0
10
2.795545
20
0.000284
30
0.0
10
1.994539
20
0.000284
30
0.0
0
LWPOLYLINE
5
11c
100
AcDbEntity
8
U
62
7
100
AcDbPolyline
90
18
70
 
10
4.225538
20
8.218905
30
0.0
10
5.080282
20
8.218905
30
0.0
10
5.080282
20
3.550103
30
0.0
10
4.859987
20
1.615357
30
0.0
10
4.064723
20
0.449525
30
0.0
10
2.555703
20
0.000284
30
0.0
10
1.070915
20
0.391641
30
0.0
10
0.247012
20
1.524396
30
0.0
10
0.000282
20
3.550103
30
0.0
10
0.000282
20
8.218905
30
0.0
10
0.855026
20
8.218905
30
0.0
10
0.855026
20
3.555634
30
0.0
10
1.011436
20
2.003948
30
0.0
10
1.548955
20
1.235006
30
0.0
10
2.480803
20
0.964919
30
0.0
10
3.824601
20
1.499589
30
0.0
10
4.225538
20
3.555634
30
0.0
10
4.225538
20
8.218905
30
0.0
0
LWPOLYLINE
5
11d
100
AcDbEntity
8
V
62
7
100
AcDbPolyline
90
10
70
 
10
2.151990
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
0.795808
20
8.081096
30
0.0
10
2.239119
20
2.210648
30
0.0
10
2.530812
20
0.887731
30
0.0
10
2.830081
20
2.210648
30
0.0
10
4.330215
20
8.081096
30
0.0
10
5.080282
20
8.081096
30
0.0
10
2.905845
20
0.000284
30
0.0
10
2.151990
20
0.000284
30
0.0
0
LWPOLYLINE
5
11e
100
AcDbEntity
8
W
62
7
100
AcDbPolyline
90
20
70
 
10
0.907511
20
-0.017355
30
0.0
10
0.000282
20
8.081096
30
0.0
10
0.677690
20
8.063598
30
0.0
10
1.137555
20
2.784067
30
0.0
10
1.304643
20
1.677220
30
0.0
10
1.482510
20
2.624216
30
0.0
10
2.234404
20
8.081237
30
0.0
10
2.865025
20
8.081237
30
0.0
10
3.430967
20
3.991216
30
0.0
10
3.826387
20
1.835970
30
0.0
10
3.934924
20
2.888800
30
0.0
10
4.413654
20
8.081237
30
0.0
10
5.080282
20
8.081237
30
0.0
10
4.279131
20
0.018064
30
0.0
10
3.492951
20
0.000566
30
0.0
10
2.642569
20
5.716666
30
0.0
10
2.518601
20
6.770597
30
0.0
10
2.367440
20
5.716666
30
0.0
10
1.582224
20
0.000566
30
0.0
10
0.907511
20
-0.017355
30
0.0
0
LWPOLYLINE
5
11f
100
AcDbEntity
8
X
62
7
100
AcDbPolyline
90
17
70
 
10
0.000282
20
0.000284
30
0.0
10
2.143407
20
4.211575
30
0.0
10
0.253526
20
8.081096
30
0.0
10
1.126651
20
8.081096
30
0.0
10
2.132068
20
6.008541
30
0.0
10
2.578080
20
5.016332
30
0.0
10
3.016532
20
5.936884
30
0.0
10
4.131562
20
8.081096
30
0.0
10
4.929092
20
8.081096
30
0.0
10
2.982514
20
4.272197
30
0.0
10
5.080282
20
0.000284
30
0.0
10
4.173139
20
0.000284
30
0.0
10
2.778407
20
2.883127
30
0.0
10
2.536503
20
3.423329
30
0.0
10
2.271919
20
2.817002
30
0.0
10
0.880967
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
120
100
AcDbEntity
8
Y
62
7
100
AcDbPolyline
90
12
70
 
10
2.135848
20
0.000288
30
0.0
10
2.135848
20
3.423334
30
0.0
10
0.000282
20
8.081129
30
0.0
10
0.892306
20
8.081129
30
0.0
10
1.984657
20
5.644733
30
0.0
10
2.547842
20
4.277733
30
0.0
10
3.152604
20
5.705382
30
0.0
10
4.226056
20
8.081129
30
0.0
10
5.080282
20
8.081129
30
0.0
10
2.869122
20
3.423334
30
0.0
10
2.869122
20
0.000288
30
0.0
10
2.135848
20
0.000288
30
0.0
0
LWPOLYLINE
5
121
100
AcDbEntity
8
Z
62
7
100
AcDbPolyline
90
13
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
0.992464
30
0.0
10
3.291982
20
6.168391
30
0.0
10
3.958211
20
7.127495
30
0.0
10
0.372845
20
7.127495
30
0.0
10
0.372845
20
8.081096
30
0.0
10
4.975088
20
8.081096
30
0.0
10
4.975088
20
7.127495
30
0.0
10
1.367806
20
1.521631
30
0.0
10
0.977711
20
0.953884
30
0.0
10
5.080282
20
0.953884
30
0.0
10
5.080282
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
122
100
AcDbEntity
8
1
62
7
100
AcDbPolyline
90
10
70
 
10
3.823229
20
0.000284
30
0.0
10
2.831042
20
0.000284
30
0.0
10
2.831042
20
6.322710
30
0.0
10
1.891220
20
5.639225
30
0.0
10
0.846667
20
5.126596
30
0.0
10
0.846667
20
6.085700
30
0.0
10
2.301875
20
7.033798
30
0.0
10
3.183819
20
8.114172
30
0.0
10
3.823229
20
8.114172
30
0.0
10
3.823229
20
0.000284
30
0.0
0
LWPOLYLINE
5
123
100
AcDbEntity
8
2
62
7
100
AcDbPolyline
90
23
70
 
10
4.798942
20
0.953884
30
0.0
10
4.798942
20
0.000284
30
0.0
10
0.001164
20
0.000284
30
0.0
10
0.105141
20
0.689301
30
0.0
10
0.691866
20
1.764172
30
0.0
10
1.857889
20
2.987860
30
0.0
10
3.457149
20
4.699396
30
0.0
10
3.873055
20
5.892773
30
0.0
10
3.494283
20
6.887719
30
0.0
10
2.506505
20
7.292849
30
0.0
10
1.476642
20
6.862912
30
0.0
10
1.085492
20
5.672301
30
0.0
10
0.169507
20
5.777006
30
0.0
10
0.877538
20
7.516115
30
0.0
10
2.526310
20
8.114172
30
0.0
10
4.180034
20
7.469238
30
0.0
10
4.789039
20
5.870732
30
0.0
10
4.610794
20
4.917131
30
0.0
10
4.019117
20
3.930454
30
0.0
10
2.645141
20
2.508308
30
0.0
10
1.615277
20
1.491320
30
0.0
10
1.238981
20
0.953884
30
0.0
10
4.798942
20
0.953884
30
0.0
0
LWPOLYLINE
5
124
100
AcDbEntity
8
3
62
7
100
AcDbPolyline
90
31
70
 
10
0.000282
20
2.276801
30
0.0
10
0.899866
20
2.409107
30
0.0
10
1.427121
20
1.193660
30
0.0
10
2.334201
20
0.821607
30
0.0
10
3.406205
20
1.306662
30
0.0
10
3.843502
20
2.508308
30
0.0
10
3.438690
20
3.635560
30
0.0
10
2.409166
20
4.079270
30
0.0
10
1.774460
20
3.969034
30
0.0
10
1.874414
20
4.839943
30
0.0
10
2.019347
20
4.828936
30
0.0
10
3.053868
20
5.159644
30
0.0
10
3.513655
20
6.179398
30
0.0
10
3.178810
20
7.083412
30
0.0
10
2.314210
20
7.441693
30
0.0
10
1.439616
20
7.077881
30
0.0
10
0.989824
20
5.986471
30
0.0
10
0.090241
20
6.162860
30
0.0
10
0.839893
20
7.709014
30
0.0
10
2.294220
20
8.257485
30
0.0
10
3.398708
20
7.973598
30
0.0
10
4.170850
20
7.199152
30
0.0
10
4.438227
20
6.157356
30
0.0
10
4.183345
20
5.203756
30
0.0
10
3.428694
20
4.520242
30
0.0
10
4.438227
20
3.833990
30
0.0
10
4.798060
20
2.530349
30
0.0
10
4.098384
20
0.736150
30
0.0
10
2.329204
20
0.000284
30
0.0
10
0.727445
20
0.634183
30
0.0
10
0.000282
20
2.276801
30
0.0
0
LWPOLYLINE
5
125
100
AcDbEntity
8
4
62
7
100
AcDbPolyline
90
12
70
 
10
3.009539
20
0.000284
30
0.0
10
3.009539
20
1.935058
30
0.0
10
0.000282
20
1.935058
30
0.0
10
0.000282
20
2.844547
30
0.0
10
3.165680
20
8.081096
30
0.0
10
3.861216
20
8.081096
30
0.0
10
3.861216
20
2.844547
30
0.0
10
4.798060
20
2.844547
30
0.0
10
4.798060
20
1.935058
30
0.0
10
3.861216
20
1.935058
30
0.0
10
3.861216
20
0.000284
30
0.0
10
3.009539
20
0.000284
30
0.0
0
LWPOLYLINE
5
126
100
AcDbEntity
8
4
62
7
100
AcDbPolyline
90
4
70
 
10
3.009539
20
2.844547
30
0.0
10
3.009539
20
6.488093
30
0.0
10
0.837764
20
2.844547
30
0.0
10
3.009539
20
2.844547
30
0.0
0
LWPOLYLINE
5
127
100
AcDbEntity
8
5
62
7
100
AcDbPolyline
90
23
70
 
10
0.000282
20
2.254736
30
0.0
10
0.933183
20
2.342930
30
0.0
10
1.414442
20
1.199168
30
0.0
10
2.325131
20
0.816080
30
0.0
10
3.411048
20
1.356282
30
0.0
10
3.855287
20
2.789434
30
0.0
10
3.428324
20
4.128889
30
0.0
10
2.310323
20
4.619476
30
0.0
10
1.535374
20
4.401742
30
0.0
10
0.992415
20
3.836733
30
0.0
10
0.158234
20
3.958004
30
0.0
10
0.859144
20
8.108646
30
0.0
10
4.457477
20
8.108646
30
0.0
10
4.457477
20
7.160577
30
0.0
10
1.569926
20
7.160577
30
0.0
10
1.179983
20
4.988764
30
0.0
10
2.547251
20
5.495889
30
0.0
10
4.146510
20
4.762788
30
0.0
10
4.798060
20
2.877629
30
0.0
10
4.225486
20
0.981434
30
0.0
10
2.325131
20
0.000288
30
0.0
10
0.713532
20
0.617650
30
0.0
10
0.000282
20
2.254736
30
0.0
0
LWPOLYLINE
5
128
100
AcDbEntity
8
6
62
7
100
AcDbPolyline
90
20
70
 
10
4.669194
20
6.240048
30
0.0
10
3.782002
20
6.162860
30
0.0
10
3.444968
20
7.011728
30
0.0
10
2.552819
20
7.436190
30
0.0
10
1.804405
20
7.171607
30
0.0
10
1.140250
20
6.173895
30
0.0
10
0.887475
20
4.305273
30
0.0
10
1.675539
20
5.115561
30
0.0
10
2.651947
20
5.380145
30
0.0
10
4.171078
20
4.649782
30
0.0
10
4.798060
20
2.761884
30
0.0
10
4.503155
20
1.348008
30
0.0
10
3.692787
20
0.347558
30
0.0
10
2.523081
20
0.000284
30
0.0
10
0.704088
20
0.912539
30
0.0
10
0.000282
20
3.919419
30
0.0
10
0.778434
20
7.325926
30
0.0
10
2.607339
20
8.251982
30
0.0
10
4.012474
20
7.717283
30
0.0
10
4.669194
20
6.240048
30
0.0
0
LWPOLYLINE
5
129
100
AcDbEntity
8
6
62
7
100
AcDbPolyline
90
10
70
 
10
1.026253
20
2.756353
30
0.0
10
1.222030
20
1.775207
30
0.0
10
1.769711
20
1.061383
30
0.0
10
2.508212
20
0.816075
30
0.0
10
3.479663
20
1.323200
30
0.0
10
3.886086
20
2.701235
30
0.0
10
3.484619
20
4.021386
30
0.0
10
2.473517
20
4.503704
30
0.0
10
1.447546
20
4.021386
30
0.0
10
1.026253
20
2.756353
30
0.0
0
LWPOLYLINE
5
12a
100
AcDbEntity
8
7
62
7
100
AcDbPolyline
90
12
70
 
10
0.000282
20
7.022763
30
0.0
10
0.000282
20
7.976363
30
0.0
10
4.798060
20
7.976363
30
0.0
10
4.798060
20
7.204655
30
0.0
10
3.395127
20
5.021864
30
0.0
10
2.320809
20
2.221683
30
0.0
10
1.971972
20
0.000284
30
0.0
10
1.036683
20
0.000284
30
0.0
10
1.380465
20
2.304374
30
0.0
10
2.323337
20
4.908862
30
0.0
10
3.630213
20
7.022763
30
0.0
10
0.000282
20
7.022763
30
0.0
0
LWPOLYLINE
5
12b
100
AcDbEntity
8
8
62
7
100
AcDbPolyline
90
17
70
 
10
1.385976
20
4.520242
30
0.0
10
0.561513
20
5.165176
30
0.0
10
0.293314
20
6.168391
30
0.0
10
0.864478
20
7.651159
30
0.0
10
2.384271
20
8.251982
30
0.0
10
3.918964
20
7.637358
30
0.0
10
4.500061
20
6.140818
30
0.0
10
4.234346
20
5.162410
30
0.0
10
3.427266
20
4.520242
30
0.0
10
4.447911
20
3.737527
30
0.0
10
4.798060
20
2.447686
30
0.0
10
4.137496
20
0.705839
30
0.0
10
2.399171
20
0.000284
30
0.0
10
0.660846
20
0.708605
30
0.0
10
0.000282
20
2.475231
30
0.0
10
0.360364
20
3.795410
30
0.0
10
1.385976
20
4.520242
30
0.0
0
LWPOLYLINE
5
12c
100
AcDbEntity
8
8
62
7
100
AcDbPolyline
90
9
70
 
10
1.207177
20
6.201468
30
0.0
10
1.539942
20
5.264377
30
0.0
10
2.404138
20
4.900593
30
0.0
10
3.250950
20
5.261640
30
0.0
10
3.581232
20
6.146322
30
0.0
10
3.241017
20
7.064108
30
0.0
10
2.394204
20
7.436190
30
0.0
10
1.544908
20
7.072377
30
0.0
10
1.207177
20
6.201468
30
0.0
0
LWPOLYLINE
5
12d
100
AcDbEntity
8
8
62
7
100
AcDbPolyline
90
10
70
 
10
0.919111
20
2.469728
30
0.0
10
1.100394
20
1.648405
30
0.0
10
1.639275
20
1.033810
30
0.0
10
2.409104
20
0.816075
30
0.0
10
3.467000
20
1.273586
30
0.0
10
3.884198
20
2.436652
30
0.0
10
3.454583
20
3.621759
30
0.0
10
2.379305
20
4.090304
30
0.0
10
1.333826
20
3.627291
30
0.0
10
0.919111
20
2.469728
30
0.0
0
LWPOLYLINE
5
12e
100
AcDbEntity
8
9
62
7
100
AcDbPolyline
90
23
70
 
10
0.134660
20
2.006714
30
0.0
10
0.995672
20
2.094909
30
0.0
10
1.413735
20
1.119238
30
0.0
10
2.205070
20
0.816075
30
0.0
10
2.929216
20
1.025540
30
0.0
10
3.439353
20
1.585018
30
0.0
10
3.772809
20
2.530349
30
0.0
10
3.907186
20
3.743030
30
0.0
10
3.902210
20
3.941460
30
0.0
10
3.168110
20
3.172518
30
0.0
10
2.160278
20
2.877624
30
0.0
10
0.627378
20
3.605221
30
0.0
10
0.000283
20
5.523457
30
0.0
10
0.654751
20
7.502315
30
0.0
10
2.294656
20
8.251982
30
0.0
10
3.596127
20
7.827548
30
0.0
10
4.491978
20
6.617633
30
0.0
10
4.798060
20
4.343853
30
0.0
10
4.494467
20
1.877174
30
0.0
10
3.591150
20
0.479836
30
0.0
10
2.185163
20
0.000284
30
0.0
10
0.786640
20
0.526684
30
0.0
10
0.134660
20
2.006714
30
0.0
0
LWPOLYLINE
5
12f
100
AcDbEntity
8
9
62
7
100
AcDbPolyline
90
9
70
 
10
3.802670
20
5.573072
30
0.0
10
3.392072
20
6.929065
30
0.0
10
2.404148
20
7.430658
30
0.0
10
1.363966
20
6.890485
30
0.0
10
0.921018
20
5.490381
30
0.0
10
1.341570
20
4.236383
30
0.0
10
2.379263
20
3.754065
30
0.0
10
3.402026
20
4.236383
30
0.0
10
3.802670
20
5.573072
30
0.0
0
LWPOLYLINE
5
130
100
AcDbEntity
8
 
62
7
100
AcDbPolyline
90
13
70
 
10
0.000282
20
4.123381
30
0.0
10
0.268777
20
6.430209
30
0.0
10
1.066734
20
7.777933
30
0.0
10
2.399171
20
8.251982
30
0.0
10
3.438020
20
7.990136
30
0.0
10
4.175754
20
7.234994
30
0.0
10
4.632446
20
6.033320
30
0.0
10
4.798060
20
4.123381
30
0.0
10
4.532074
20
1.827560
30
0.0
10
3.736627
20
0.477070
30
0.0
10
2.399171
20
0.000284
30
0.0
10
0.727979
20
0.838117
30
0.0
10
0.000282
20
4.123381
30
0.0
0
LWPOLYLINE
5
131
100
AcDbEntity
8
 
62
7
100
AcDbPolyline
90
9
70
 
10
0.928722
20
4.123381
30
0.0
10
1.352794
20
1.474782
30
0.0
10
2.399171
20
0.816075
30
0.0
10
3.445548
20
1.477548
30
0.0
10
3.869620
20
4.123381
30
0.0
10
3.445548
20
6.774718
30
0.0
10
2.389134
20
7.430658
30
0.0
10
1.395452
20
6.851877
30
0.0
10
0.928722
20
4.123381
30
0.0
0
LWPOLYLINE
5
132
100
AcDbEntity
8
a_
62
7
100
AcDbPolyline
90
28
70
 
10
4.156446
20
0.854655
30
0.0
10
3.095356
20
0.193211
30
0.0
10
2.001194
20
0.000284
30
0.0
10
0.518425
20
0.471566
30
0.0
10
0.000282
20
1.675978
30
0.0
10
0.195964
20
2.461459
30
0.0
10
0.708594
20
3.031971
30
0.0
10
1.422418
20
3.357176
30
0.0
10
2.304362
20
3.506020
30
0.0
10
4.073763
20
3.847763
30
0.0
10
4.079275
20
4.106843
30
0.0
10
3.798155
20
4.961214
30
0.0
10
2.668164
20
5.297454
30
0.0
10
1.634635
20
5.052174
30
0.0
10
1.141298
20
4.184002
30
0.0
10
0.171159
20
4.316308
30
0.0
10
0.606619
20
5.322261
30
0.0
10
1.483051
20
5.912077
30
0.0
10
2.811480
20
6.118777
30
0.0
10
4.029666
20
5.942388
30
0.0
10
4.718685
20
5.498650
30
0.0
10
5.027365
20
4.823405
30
0.0
10
5.076975
20
3.908412
30
0.0
10
5.076975
20
2.585496
30
0.0
10
5.140365
20
0.835379
30
0.0
10
5.391167
20
0.132561
30
0.0
10
4.354883
20
0.132561
30
0.0
10
4.156446
20
0.854655
30
0.0
0
LWPOLYLINE
5
133
100
AcDbEntity
8
a_
62
7
100
AcDbPolyline
90
11
70
 
10
4.073763
20
3.070551
30
0.0
10
2.453190
20
2.695732
30
0.0
10
1.587782
20
2.497301
30
0.0
10
1.196419
20
2.174834
30
0.0
10
1.058616
20
1.703551
30
0.0
10
1.359028
20
1.042079
30
0.0
10
2.238216
20
0.777495
30
0.0
10
3.257965
20
1.028306
30
0.0
10
3.913911
20
1.714558
30
0.0
10
4.073763
20
2.706738
30
0.0
10
4.073763
20
3.070551
30
0.0
0
LWPOLYLINE
5
134
100
AcDbEntity
8
b_
62
7
100
AcDbPolyline
90
14
70
 
10
0.920812
20
0.132561
30
0.0
10
0.000282
20
0.132561
30
0.0
10
0.000282
20
8.213402
30
0.0
10
0.992470
20
8.213402
30
0.0
10
0.992470
20
5.330530
30
0.0
10
2.596506
20
6.118777
30
0.0
10
3.619011
20
5.901042
30
0.0
10
4.412761
20
5.289184
30
0.0
10
4.900586
20
4.338350
30
0.0
10
5.076975
20
3.147710
30
0.0
10
4.332834
20
0.821607
30
0.0
10
2.546897
20
0.000284
30
0.0
10
0.920812
20
0.865690
30
0.0
10
0.920812
20
0.132561
30
0.0
0
LWPOLYLINE
5
135
100
AcDbEntity
8
b_
62
7
100
AcDbPolyline
90
9
70
 
10
0.909787
20
3.103627
30
0.0
10
1.196419
20
1.582280
30
0.0
10
2.464214
20
0.816075
30
0.0
10
3.588694
20
1.381084
30
0.0
10
4.062739
20
3.065048
30
0.0
10
3.607986
20
4.757280
30
0.0
10
2.508312
20
5.302985
30
0.0
10
1.383832
20
4.737976
30
0.0
10
0.909787
20
3.103627
30
0.0
0
LWPOLYLINE
5
136
100
AcDbEntity
8
c_
62
7
100
AcDbPolyline
90
20
70
 
10
4.123372
20
2.276801
30
0.0
10
5.099023
20
2.150027
30
0.0
10
4.280469
20
0.570796
30
0.0
10
2.662652
20
0.000284
30
0.0
10
0.730642
20
0.785764
30
0.0
10
0.000282
20
3.037474
30
0.0
10
0.314475
20
4.696631
30
0.0
10
1.270833
20
5.763233
30
0.0
10
2.668164
20
6.118777
30
0.0
10
4.228103
20
5.636459
30
0.0
10
5.005317
20
4.266693
30
0.0
10
4.040690
20
4.117849
30
0.0
10
3.552865
20
5.005325
30
0.0
10
2.706749
20
5.302985
30
0.0
10
1.488563
20
4.765549
30
0.0
10
1.020031
20
3.065048
30
0.0
10
1.472027
20
1.350773
30
0.0
10
2.651628
20
0.816075
30
0.0
10
3.627279
20
1.174384
30
0.0
10
4.123372
20
2.276801
30
0.0
0
LWPOLYLINE
5
137
100
AcDbEntity
8
d_
62
7
100
AcDbPolyline
90
15
70
 
10
4.156446
20
0.132561
30
0.0
10
4.156446
20
0.871193
30
0.0
10
2.519336
20
0.000284
30
0.0
10
1.232248
20
0.386138
30
0.0
10
0.322743
20
1.463747
30
0.0
10
0.000282
20
3.054013
30
0.0
10
0.292426
20
4.644278
30
0.0
10
1.168859
20
5.738426
30
0.0
10
2.475239
20
6.118777
30
0.0
10
3.417817
20
5.895539
30
0.0
10
4.090300
20
5.313992
30
0.0
10
4.090300
20
8.213402
30
0.0
10
5.076975
20
8.213402
30
0.0
10
5.076975
20
0.132561
30
0.0
10
4.156446
20
0.132561
30
0.0
0
LWPOLYLINE
5
138
100
AcDbEntity
8
d_
62
7
100
AcDbPolyline
90
9
70
 
10
1.020031
20
3.054013
30
0.0
10
1.494076
20
1.372815
30
0.0
10
2.613043
20
0.816075
30
0.0
10
3.718229
20
1.348008
30
0.0
10
4.172982
20
2.971322
30
0.0
10
3.709961
20
4.735210
30
0.0
10
2.568945
20
5.297454
30
0.0
10
1.463759
20
4.757280
30
0.0
10
1.020031
20
3.054013
30
0.0
0
LWPOLYLINE
5
139
100
AcDbEntity
8
e_
62
7
100
AcDbPolyline
90
16
70
 
10
4.338347
20
2.017721
30
0.0
10
5.363607
20
1.890947
30
0.0
10
4.465126
20
0.496374
30
0.0
10
2.789432
20
0.000284
30
0.0
10
0.752691
20
0.791268
30
0.0
10
0.000282
20
3.009930
30
0.0
10
0.760959
20
5.302985
30
0.0
10
2.734310
20
6.118777
30
0.0
10
4.652539
20
5.319523
30
0.0
10
5.396680
20
3.070551
30
0.0
10
5.391168
20
2.805968
30
0.0
10
1.025543
20
2.805968
30
0.0
10
1.571246
20
1.328704
30
0.0
10
2.794944
20
0.816075
30
0.0
10
3.726498
20
1.102700
30
0.0
10
4.338347
20
2.017721
30
0.0
0
LWPOLYLINE
5
13a
100
AcDbEntity
8
e_
62
7
100
AcDbPolyline
90
6
70
 
10
1.080664
20
3.621759
30
0.0
10
4.349371
20
3.621759
30
0.0
10
3.974544
20
4.729707
30
0.0
10
2.745334
20
5.302985
30
0.0
10
1.596050
20
4.845475
30
0.0
10
1.080664
20
3.621759
30
0.0
0
LWPOLYLINE
5
13b
100
AcDbEntity
8
f_
62
7
100
AcDbPolyline
90
20
70
 
10
2.287543
20
0.000288
30
0.0
10
2.287543
20
5.082490
30
0.0
10
1.411111
20
5.082490
30
0.0
10
1.411111
20
5.854198
30
0.0
10
2.287543
20
5.854198
30
0.0
10
2.287543
20
6.477063
30
0.0
10
2.392274
20
7.353504
30
0.0
10
2.896636
20
7.979134
30
0.0
10
3.908116
20
8.218910
30
0.0
10
4.834158
20
8.119681
30
0.0
10
4.685330
20
7.254274
30
0.0
10
4.101042
20
7.309392
30
0.0
10
3.461632
20
7.116465
30
0.0
10
3.274219
20
6.394372
30
0.0
10
3.274219
20
5.854198
30
0.0
10
4.415234
20
5.854198
30
0.0
10
4.415234
20
5.082490
30
0.0
10
3.274219
20
5.082490
30
0.0
10
3.274219
20
0.000288
30
0.0
10
2.287543
20
0.000288
30
0.0
0
LWPOLYLINE
5
13c
100
AcDbEntity
8
g_
62
7
100
AcDbPolyline
90
22
70
 
10
0.198720
20
-0.367113
30
0.0
10
1.163346
20
-0.510426
30
0.0
10
1.499588
20
-1.160863
30
0.0
10
2.508312
20
-1.436453
30
0.0
10
3.572157
20
-1.160863
30
0.0
10
4.079275
20
-0.389155
30
0.0
10
4.150933
20
0.884147
30
0.0
10
2.530360
20
0.117970
30
0.0
10
0.661741
20
0.988880
30
0.0
10
0.000282
20
3.077973
30
0.0
10
0.303451
20
4.624156
30
0.0
10
1.182639
20
5.718303
30
0.0
10
2.535873
20
6.104158
30
0.0
10
4.244640
20
5.266324
30
0.0
10
4.244640
20
5.971880
30
0.0
10
5.159657
20
5.971880
30
0.0
10
5.159657
20
0.911720
30
0.0
10
4.881294
20
-1.025820
30
0.0
10
3.999349
20
-1.927040
30
0.0
10
2.513824
20
-2.257776
30
0.0
10
0.821593
20
-1.786494
30
0.0
10
0.198720
20
-0.367113
30
0.0
0
LWPOLYLINE
5
13d
100
AcDbEntity
8
g_
62
7
100
AcDbPolyline
90
9
70
 
10
1.020030
20
3.149658
30
0.0
10
1.477539
20
1.468432
30
0.0
10
2.624067
20
0.939265
30
0.0
10
3.770595
20
1.465694
30
0.0
10
4.233616
20
3.116581
30
0.0
10
3.756814
20
4.737158
30
0.0
10
2.607531
20
5.282834
30
0.0
10
1.483051
20
4.745399
30
0.0
10
1.020030
20
3.149658
30
0.0
0
LWPOLYLINE
5
13e
100
AcDbEntity
8
h_
62
7
100
AcDbPolyline
90
18
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
0.992470
20
8.081096
30
0.0
10
0.992470
20
5.181714
30
0.0
10
2.745334
20
5.986471
30
0.0
10
3.875326
20
5.730157
30
0.0
10
4.561589
20
5.021864
30
0.0
10
4.768294
20
3.709954
30
0.0
10
4.768294
20
0.000284
30
0.0
10
3.776107
20
0.000284
30
0.0
10
3.776107
20
3.709954
30
0.0
10
3.453646
20
4.793094
30
0.0
10
2.541385
20
5.132100
30
0.0
10
1.711806
20
4.903330
30
0.0
10
1.157834
20
4.283232
30
0.0
10
0.992470
20
3.202857
30
0.0
10
0.992470
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
13f
100
AcDbEntity
8
i_
62
7
100
AcDbPolyline
90
5
70
 
10
2.257778
20
6.940072
30
0.0
10
2.257778
20
8.081096
30
0.0
10
3.249965
20
8.081096
30
0.0
10
3.249965
20
6.940072
30
0.0
10
2.257778
20
6.940072
30
0.0
0
LWPOLYLINE
5
140
100
AcDbEntity
8
i_
62
7
100
AcDbPolyline
90
5
70
 
10
2.257778
20
0.000284
30
0.0
10
2.257778
20
5.854193
30
0.0
10
3.249965
20
5.854193
30
0.0
10
3.249965
20
0.000284
30
0.0
10
2.257778
20
0.000284
30
0.0
0
LWPOLYLINE
5
141
100
AcDbEntity
8
j_
62
7
100
AcDbPolyline
90
5
70
 
10
2.667882
20
9.304788
30
0.0
10
2.667882
20
10.456848
30
0.0
10
3.660069
20
10.456848
30
0.0
10
3.660069
20
9.304788
30
0.0
10
2.667882
20
9.304788
30
0.0
0
LWPOLYLINE
5
142
100
AcDbEntity
8
j_
62
7
100
AcDbPolyline
90
11
70
 
10
1.411111
20
0.105021
30
0.0
10
1.598524
20
0.948386
30
0.0
10
2.067057
20
0.871198
30
0.0
10
2.519054
20
1.072394
30
0.0
10
2.667882
20
2.078375
30
0.0
10
2.667882
20
8.229945
30
0.0
10
3.660069
20
8.229945
30
0.0
10
3.660069
20
2.056334
30
0.0
10
3.378950
20
0.551497
30
0.0
10
2.188325
20
0.000288
30
0.0
10
1.411111
20
0.105021
30
0.0
0
LWPOLYLINE
5
143
100
AcDbEntity
8
k_
62
7
100
AcDbPolyline
90
13
70
 
10
0.000282
20
0.000284
30
0.0
10
0.000282
20
8.081096
30
0.0
10
0.992470
20
8.081096
30
0.0
10
0.992470
20
3.472943
30
0.0
10
3.340647
20
5.854193
30
0.0
10
4.624978
20
5.854193
30
0.0
10
2.387044
20
3.682409
30
0.0
10
4.850977
20
0.000284
30
0.0
10
3.627279
20
0.000284
30
0.0
10
1.692513
20
2.993391
30
0.0
10
0.992470
20
2.320912
30
0.0
10
0.992470
20
0.000284
30
0.0
10
0.000282
20
0.000284
30
0.0
0
LWPOLYLINE
5
144
100
AcDbEntity
8
l_
62
7
100
AcDbPolyline
90
5
70
 
10
2.257778
20
0.000284
30
0.0
10
2.257778
20
8.081096
30
0.0
10
3.249965
20
8.081096
30
0.0
10
3.249965
20
0.000284
30
0.0
10
2.257778
20
0.000284
30
0.0
0
LWPOLYLINE
5
145
100
AcDbEntity
8
m_
62
7
100
AcDbPolyline
90
29
70
 
10
0.000282
20
0.000288
30
0.0
10
0.000282
20
5.854198
30
0.0
10
0.600225
20
5.854198
30
0.0
10
0.600225
20
5.032875
30
0.0
10
1.095830
20
5.724658
30
0.0
10
1.800111
20
5.986476
30
0.0
10
2.521160
20
5.716389
30
0.0
10
2.918017
20
4.961219
30
0.0
10
4.140261
20
5.986476
30
0.0
10
5.045764
20
5.504158
30
0.0
10
5.362504
20
4.018653
30
0.0
10
5.362504
20
0.000288
30
0.0
10
4.446036
20
0.000288
30
0.0
10
4.396145
20
3.638020
30
0.0
10
4.430715
20
4.445260
30
0.0
10
4.194091
20
4.866957
30
0.0
10
3.791645
20
4.777379
30
0.0
10
3.198324
20
4.316821
30
0.0
10
3.022355
20
3.401292
30
0.0
10
3.022355
20
0.000288
30
0.0
10
2.251830
20
-0.049608
30
0.0
10
2.152050
20
3.654022
30
0.0
10
2.037981
20
4.596306
30
0.0
10
1.651057
20
4.827248
30
0.0
10
1.327065
20
4.556879
30
0.0
10
0.928761
20
4.211298
30
0.0
10
0.970368
20
2.987582
30
0.0
10
1.020258
20
0.050185
30
0.0
10
0.000282
20
0.000288
30
0.0
0
LWPOLYLINE
5
146
100
AcDbEntity
8
n_
62
7
100
AcDbPolyline
90
19
70
 
10
0.000564
20
0.000284
30
0.0
10
0.000564
20
5.854193
30
0.0
10
0.893533
20
5.854193
30
0.0
10
0.893533
20
5.021864
30
0.0
10
2.756641
20
5.986471
30
0.0
10
3.729536
20
5.796310
30
0.0
10
4.393750
20
5.297454
30
0.0
10
4.702431
20
4.564353
30
0.0
10
4.757552
20
3.599718
30
0.0
10
4.757552
20
0.000284
30
0.0
10
3.765365
20
0.000284
30
0.0
10
3.765365
20
3.561138
30
0.0
10
3.649610
20
4.467890
30
0.0
10
3.238954
20
4.947442
30
0.0
10
2.547179
20
5.126596
30
0.0
10
1.453017
20
4.724204
30
0.0
10
0.992752
20
3.197325
30
0.0
10
0.992752
20
0.000284
30
0.0
10
0.000564
20
0.000284
30
0.0
0
LWPOLYLINE
5
147
100
AcDbEntity
8
o_
62
7
100
AcDbPolyline
90
10
70
 
10
0.000282
20
3.059516
30
0.0
10
0.904275
20
5.468339
30
0.0
10
2.745334
20
6.118777
30
0.0
10
4.718685
20
5.327764
30
0.0
10
5.484874
20
3.142207
30
0.0
10
5.145877
20
1.364546
30
0.0
10
4.159201
20
0.358565
30
0.0
10
2.745334
20
0.000284
30
0.0
10
0.758203
20
0.788530
30
0.0
10
0.000282
20
3.059516
30
0.0
0
LWPOLYLINE
5
148
100
AcDbEntity
8
o_
62
7
100
AcDbPolyline
90
9
70
 
10
1.020031
20
3.059516
30
0.0
10
1.510612
20
1.375552
30
0.0
10
2.745334
20
0.816075
30
0.0
10
3.974544
20
1.378318
30
0.0
10
4.465126
20
3.092592
30
0.0
10
3.971788
20
4.737976
30
0.0
10
2.745334
20
5.297454
30
0.0
10
1.510612
20
4.740742
30
0.0
10
1.020031
20
3.059516
30
0.0
0
LWPOLYLINE
5
149
100
AcDbEntity
8
p_
62
7
100
AcDbPolyline
90
16
70
 
10
0.000282
20
-2.257772
30
0.0
10
0.000282
20
5.839579
30
0.0
10
0.904275
20
5.839579
30
0.0
10
0.904275
20
5.078906
30
0.0
10
1.626367
20
5.748619
30
0.0
10
2.602018
20
5.971885
30
0.0
10
3.924935
20
5.586031
30
0.0
10
4.790343
20
4.497358
30
0.0
10
5.082487
20
2.956736
30
0.0
10
4.760026
20
1.338897
30
0.0
10
3.822960
20
0.236480
30
0.0
10
2.530360
20
-0.146608
30
0.0
10
1.640148
20
0.062857
30
0.0
10
0.992470
20
0.592024
30
0.0
10
0.992470
20
-2.257772
30
0.0
10
0.000282
20
-2.257772
30
0.0
0
LWPOLYLINE
5
14a
100
AcDbEntity
8
p_
62
7
100
AcDbPolyline
90
9
70
 
10
0.898763
20
2.879548
30
0.0
10
1.356272
20
1.209385
30
0.0
10
2.464214
20
0.669183
30
0.0
10
3.596962
20
1.228661
30
0.0
10
4.068251
20
2.962239
30
0.0
10
3.607986
20
4.637933
30
0.0
10
2.508312
20
5.194645
30
0.0
10
1.386589
20
4.602091
30
0.0
10
0.898763
20
2.879548
30
0.0
0
LWPOLYLINE
5
14b
100
AcDbEntity
8
q_
62
7
100
AcDbPolyline
90
14
70
 
10
4.079275
20
-2.257776
30
0.0
10
4.079275
20
0.608557
30
0.0
10
3.431597
20
0.068356
30
0.0
10
2.546897
20
-0.146613
30
0.0
10
0.752691
20
0.685717
30
0.0
10
0.000282
20
2.967737
30
0.0
10
0.306207
20
4.549734
30
0.0
10
1.193663
20
5.610833
30
0.0
10
2.469727
20
5.971880
30
0.0
10
4.178494
20
5.056859
30
0.0
10
4.178494
20
5.839574
30
0.0
10
5.071463
20
5.839574
30
0.0
10
5.071463
20
-2.257776
30
0.0
10
4.079275
20
-2.257776
30
0.0
0
LWPOLYLINE
5
14c
100
AcDbEntity
8
q_
62
7
100
AcDbPolyline
90
9
70
 
10
1.020031
20
2.929158
30
0.0
10
1.494076
20
1.234187
30
0.0
10
2.629579
20
0.669178
30
0.0
10
3.720985
20
1.206614
30
0.0
10
4.178494
20
2.840963
30
0.0
10
3.696181
20
4.599349
30
0.0
10
2.563433
20
5.189137
30
0.0
10
1.469271
20
4.640694
30
0.0
10
1.020031
20
2.929158
30
0.0
0
LWPOLYLINE
5
14d
100
AcDbEntity
8
r_
62
7
100
AcDbPolyline
90
14
70
 
10
1.693333
20
0.000284
30
0.0
10
1.693333
20
5.854193
30
0.0
10
2.586302
20
5.854193
30
0.0
10
2.586302
20
4.966746
30
0.0
10
3.217444
20
5.788040
30
0.0
10
3.854097
20
5.986471
30
0.0
10
4.873845
20
5.666770
30
0.0
10
4.532092
20
4.746245
30
0.0
10
3.804488
20
4.961214
30
0.0
10
3.220200
20
4.765549
30
0.0
10
2.850885
20
4.222582
30
0.0
10
2.685521
20
3.065048
30
0.0
10
2.685521
20
0.000284
30
0.0
10
1.693333
20
0.000284
30
0.0
0
LWPOLYLINE
5
14e
100
AcDbEntity
8
s_
62
7
100
AcDbPolyline
90
34
70
 
10
0.000282
20
1.879940
30
0.0
10
0.981445
20
2.034259
30
0.0
10
1.441710
20
1.130273
30
0.0
10
2.497287
20
0.816075
30
0.0
10
3.511523
20
1.094431
30
0.0
10
3.842253
20
1.747634
30
0.0
10
3.550109
20
2.276801
30
0.0
10
2.535872
20
2.613040
30
0.0
10
1.022787
20
3.089855
30
0.0
10
0.383377
20
3.646566
30
0.0
10
0.165647
20
4.432047
30
0.0
10
0.344792
20
5.156907
30
0.0
10
0.832617
20
5.710881
30
0.0
10
1.463759
20
6.000272
30
0.0
10
2.320899
20
6.118777
30
0.0
10
3.530816
20
5.920346
30
0.0
10
4.299761
20
5.382910
30
0.0
10
4.641515
20
4.476159
30
0.0
10
3.671376
20
4.343853
30
0.0
10
3.288281
20
5.049408
30
0.0
10
2.392557
20
5.302985
30
0.0
10
1.416906
20
5.076982
30
0.0
10
1.124761
20
4.547815
30
0.0
10
1.246029
20
4.200540
30
0.0
10
1.626367
20
3.935957
30
0.0
10
2.502800
20
3.682409
30
0.0
10
3.971788
20
3.222132
30
0.0
10
4.624978
20
2.701235
30
0.0
10
4.862001
20
1.852367
30
0.0
10
4.572613
20
0.918042
30
0.0
10
3.737522
20
0.240060
30
0.0
10
2.502800
20
0.000284
30
0.0
10
0.763715
20
0.474332
30
0.0
10
0.000282
20
1.879940
30
0.0
0
LWPOLYLINE
5
14f
100
AcDbEntity
8
t_
62
7
100
AcDbPolyline
90
21
70
 
10
4.123090
20
0.964896
30
0.0
10
4.266406
20
0.088483
30
0.0
10
3.516753
20
0.000288
30
0.0
10
2.678906
20
0.171146
30
0.0
10
2.259983
20
0.620387
30
0.0
10
2.138715
20
1.791722
30
0.0
10
2.138715
20
5.159649
30
0.0
10
1.411111
20
5.159649
30
0.0
10
1.411111
20
5.931358
30
0.0
10
2.138715
20
5.931358
30
0.0
10
2.138715
20
7.381049
30
0.0
10
3.125391
20
7.976368
30
0.0
10
3.125391
20
5.931358
30
0.0
10
4.123090
20
5.931358
30
0.0
10
4.123090
20
5.159649
30
0.0
10
3.125391
20
5.159649
30
0.0
10
3.125391
20
1.736604
30
0.0
10
3.177756
20
1.190899
30
0.0
10
3.348633
20
0.997972
30
0.0
10
3.687630
20
0.926316
30
0.0
10
4.123090
20
0.964896
30
0.0
0
LWPOLYLINE
5
150
100
AcDbEntity
8
u_
62
7
100
AcDbPolyline
90
21
70
 
10
3.858789
20
0.132566
30
0.0
10
3.858789
20
0.992469
30
0.0
10
3.104444
20
0.282228
30
0.0
10
2.001194
20
0.000288
30
0.0
10
1.033811
20
0.198719
30
0.0
10
0.366840
20
0.697575
30
0.0
10
0.060916
20
1.433441
30
0.0
10
0.000282
20
2.359469
30
0.0
10
0.000282
20
5.986476
30
0.0
10
0.992470
20
5.986476
30
0.0
10
0.992470
20
2.739820
30
0.0
10
1.053103
20
1.692521
30
0.0
10
1.449978
20
1.077898
30
0.0
10
2.199631
20
0.854660
30
0.0
10
3.037478
20
1.083429
30
0.0
10
3.591450
20
1.706294
30
0.0
10
3.754058
20
2.850056
30
0.0
10
3.754058
20
5.986476
30
0.0
10
4.746246
20
5.986476
30
0.0
10
4.746246
20
0.132566
30
0.0
10
3.858789
20
0.132566
30
0.0
0
LWPOLYLINE
5
151
100
AcDbEntity
8
v_
62
7
100
AcDbPolyline
90
10
70
 
10
2.227192
20
0.000288
30
0.0
10
0.000282
20
5.854198
30
0.0
10
1.047591
20
5.854198
30
0.0
10
2.304362
20
2.348490
30
0.0
10
2.679188
20
1.168886
30
0.0
10
3.048503
20
2.282337
30
0.0
10
4.349371
20
5.854198
30
0.0
10
5.369119
20
5.854198
30
0.0
10
3.153234
20
0.000288
30
0.0
10
2.227192
20
0.000288
30
0.0
0
LWPOLYLINE
5
152
100
AcDbEntity
8
w_
62
7
100
AcDbPolyline
90
19
70
 
10
1.190788
20
0.000288
30
0.0
10
0.000282
20
5.854198
30
0.0
10
0.681618
20
5.854198
30
0.0
10
1.300681
20
2.475264
30
0.0
10
1.531456
20
1.218472
30
0.0
10
1.732926
20
2.425650
30
0.0
10
2.351989
20
5.854198
30
0.0
10
3.029662
20
5.854198
30
0.0
10
3.612094
20
2.458726
30
0.0
10
3.806238
20
1.339743
30
0.0
10
4.029687
20
2.469733
30
0.0
10
4.696370
20
5.854198
30
0.0
10
5.337412
20
5.854198
30
0.0
10
4.121264
20
0.000288
30
0.0
10
3.436266
20
0.000288
30
0.0
10
2.817202
20
3.506025
30
0.0
10
2.667016
20
4.503737
30
0.0
10
1.879450
20
0.000288
30
0.0
10
1.190788
20
0.000288
30
0.0
0
LWPOLYLINE
5
153
100
AcDbEntity
8
x_
62
7
100
AcDbPolyline
90
16
70
 
10
0.000282
20
0.000288
30
0.0
10
2.138997
20
3.042983
30
0.0
10
0.160135
20
5.854198
30
0.0
10
1.400369
20
5.854198
30
0.0
10
2.298850
20
4.481667
30
0.0
10
2.706749
20
3.825726
30
0.0
10
3.153234
20
4.470632
30
0.0
10
4.139909
20
5.854198
30
0.0
10
5.325022
20
5.854198
30
0.0
10
3.302062
20
3.098101
30
0.0
10
5.479362
20
0.000288
30
0.0
10
4.261176
20
0.000288
30
0.0
10
3.059527
20
1.819295
30
0.0
10
2.739822
20
2.309882
30
0.0
10
1.201932
20
0.000288
30
0.0
10
0.000282
20
0.000288
30
0.0
0
LWPOLYLINE
5
154
100
AcDbEntity
8
y_
62
7
100
AcDbPolyline
90
19
70
 
10
0.518425
20
-2.136501
30
0.0
10
0.408182
20
-1.204970
30
0.0
10
0.975933
20
-1.293164
30
0.0
10
1.505100
20
-1.182900
30
0.0
10
1.830317
20
-0.874234
30
0.0
10
2.133485
20
-0.135602
30
0.0
10
2.221680
20
0.106940
30
0.0
10
0.000282
20
5.971857
30
0.0
10
1.069640
20
5.971857
30
0.0
10
2.287826
20
2.581888
30
0.0
10
2.712261
20
1.225895
30
0.0
10
3.120161
20
2.559846
30
0.0
10
4.371419
20
5.971857
30
0.0
10
5.363607
20
5.971857
30
0.0
10
3.136697
20
0.018746
30
0.0
10
2.579970
20
-1.309702
30
0.0
10
1.973633
20
-2.029030
30
0.0
10
1.157834
20
-2.257772
30
0.0
10
0.518425
20
-2.136501
30
0.0
0
LWPOLYLINE
5
155
100
AcDbEntity
8
z_
62
7
100
AcDbPolyline
90
14
70
 
10
0.000282
20
0.000288
30
0.0
10
0.000282
20
0.805073
30
0.0
10
3.726497
20
5.082518
30
0.0
10
2.607531
20
5.049442
30
0.0
10
0.220768
20
5.049442
30
0.0
10
0.220768
20
5.854198
30
0.0
10
5.005317
20
5.854198
30
0.0
10
5.005317
20
5.198257
30
0.0
10
1.835829
20
1.483084
30
0.0
10
1.223980
20
0.805073
30
0.0
10
2.475239
20
0.854688
30
0.0
10
5.181706
20
0.854688
30
0.0
10
5.181706
20
0.000288
30
0.0
10
0.000282
20
0.000288
30
0.0
0
LWPOLYLINE
5
156
100
AcDbEntity
8
~
62
7
100
AcDbPolyline
90
17
70
 
10
0.056224
20
3.176129
30
0.0
10
0.056224
20
4.306122
30
0.0
10
1.360019
20
4.967578
30
0.0
10
1.950948
20
4.871117
30
0.0
10
2.832651
20
4.488021
30
0.0
10
3.318056
20
4.278561
30
0.0
10
3.644005
20
4.228952
30
0.0
10
4.274798
20
4.443925
30
0.0
10
4.854002
20
4.984116
30
0.0
10
4.854002
20
3.815540
30
0.0
10
4.246659
20
3.335982
30
0.0
10
3.554897
20
3.187153
30
0.0
10
3.017902
20
3.264323
30
0.0
10
2.206548
20
3.633639
30
0.0
10
1.280290
20
3.925782
30
0.0
10
0.715156
20
3.774199
30
0.0
10
0.056224
20
3.176129
30
0.0
0
LWPOLYLINE
5
157
100
AcDbEntity
8
!
62
7
100
AcDbPolyline
90
7
70
 
10
2.278724
20
1.752150
30
0.0
10
1.975556
20
5.491707
30
0.0
10
1.975556
20
7.055839
30
0.0
10
3.204766
20
7.055839
30
0.0
10
3.204766
20
5.491707
30
0.0
10
2.918134
20
1.752150
30
0.0
10
2.278724
20
1.752150
30
0.0
0
LWPOLYLINE
5
158
100
AcDbEntity
8
!
62
7
100
AcDbPolyline
90
5
70
 
10
2.019653
20
0.000284
30
0.0
10
2.019653
20
0.986904
30
0.0
10
3.160668
20
0.986904
30
0.0
10
3.160668
20
0.000284
30
0.0
10
2.019653
20
0.000284
30
0.0
0
LWPOLYLINE
5
159
100
AcDbEntity
8
@
62
7
100
AcDbPolyline
90
50
70
 
10
2.660085
20
2.178562
30
0.0
10
2.291512
20
1.736674
30
0.0
10
1.882409
20
1.569818
30
0.0
10
1.444175
20
1.760511
30
0.0
10
1.098401
20
2.347251
30
0.0
10
0.965411
20
3.216361
30
0.0
10
1.171862
20
4.384342
30
0.0
10
1.684824
20
5.262618
30
0.0
10
2.280113
20
5.555987
30
0.0
10
2.700615
20
5.389133
30
0.0
10
3.045123
20
4.881238
30
0.0
10
3.131250
20
5.449641
30
0.0
10
3.584683
20
5.449641
30
0.0
10
3.219910
20
2.988996
30
0.0
10
3.143916
20
2.420593
30
0.0
10
3.195845
20
2.250072
30
0.0
10
3.321236
20
2.178562
30
0.0
10
3.673343
20
2.402256
30
0.0
10
4.130576
20
3.188857
30
0.0
10
4.299030
20
4.206486
30
0.0
10
4.082446
20
5.350630
30
0.0
10
3.436494
20
6.201403
30
0.0
10
2.487831
20
6.520443
30
0.0
10
1.404911
20
6.118894
30
0.0
10
0.644968
20
4.967415
30
0.0
10
0.375188
20
3.359378
30
0.0
10
0.644968
20
1.811849
30
0.0
10
1.425177
20
0.852895
30
0.0
10
2.556226
20
0.543021
30
0.0
10
3.668277
20
0.865729
30
0.0
10
4.339560
20
1.650495
30
0.0
10
4.798060
20
1.650495
30
0.0
10
4.354759
20
0.865729
30
0.0
10
3.607481
20
0.233151
30
0.0
10
2.563825
20
0.000287
30
0.0
10
1.526502
20
0.209314
30
0.0
10
0.717162
20
0.838225
30
0.0
10
0.213066
20
1.804514
30
0.0
10
0.000282
20
3.300705
30
0.0
10
0.253597
20
5.005918
30
0.0
10
1.131332
20
6.527778
30
0.0
10
2.510629
20
7.055843
30
0.0
10
3.639146
20
6.683629
30
0.0
10
4.428220
20
5.574324
30
0.0
10
4.673936
20
4.195484
30
0.0
10
4.157174
20
2.306913
30
0.0
10
3.148982
20
1.566153
30
0.0
10
2.866536
20
1.643163
30
0.0
10
2.708215
20
1.863189
30
0.0
10
2.660085
20
2.178562
30
0.0
0
LWPOLYLINE
5
15a
100
AcDbEntity
8
@
62
7
100
AcDbPolyline
90
13
70
 
10
1.434043
20
3.172355
30
0.0
10
1.598697
20
2.391257
30
0.0
10
1.976136
20
2.112555
30
0.0
10
2.275047
20
2.235403
30
0.0
10
2.575224
20
2.600281
30
0.0
10
2.809540
20
3.214525
30
0.0
10
2.900734
20
3.960788
30
0.0
10
2.729746
20
4.734551
30
0.0
10
2.313044
20
5.009585
30
0.0
10
2.007800
20
4.890405
30
0.0
10
1.730421
20
4.507189
30
0.0
10
1.515103
20
3.865441
30
0.0
10
1.434043
20
3.172355
30
0.0
0
LWPOLYLINE
5
15b
100
AcDbEntity
8
#
62
7
100
AcDbPolyline
90
29
70
 
10
0.360555
20
0.000312
30
0.0
10
0.742795
20
1.982931
30
0.0
10
0.000282
20
1.982931
30
0.0
10
0.000282
20
2.676394
30
0.0
10
0.874603
20
2.676394
30
0.0
10
1.199727
20
4.365815
30
0.0
10
0.000282
20
4.365815
30
0.0
10
0.000282
20
5.059249
30
0.0
10
1.331534
20
5.059249
30
0.0
10
1.713774
20
7.055854
30
0.0
10
2.372810
20
7.055854
30
0.0
10
1.990569
20
5.059249
30
0.0
10
3.374544
20
5.059249
30
0.0
10
3.756784
20
7.055854
30
0.0
10
4.420213
20
7.055854
30
0.0
10
4.037973
20
5.059249
30
0.0
10
4.798060
20
5.059249
30
0.0
10
4.798060
20
4.365815
30
0.0
10
3.906166
20
4.365815
30
0.0
10
3.576648
20
2.676394
30
0.0
10
4.798060
20
2.676394
30
0.0
10
4.798060
20
1.982931
30
0.0
10
3.444841
20
1.982931
30
0.0
10
3.062600
20
0.000312
30
0.0
10
2.403565
20
0.000312
30
0.0
10
2.781412
20
1.982931
30
0.0
10
1.401831
20
1.982931
30
0.0
10
1.019590
20
0.000312
30
0.0
10
0.360555
20
0.000312
30
0.0
0
LWPOLYLINE
5
15c
100
AcDbEntity
8
#
62
7
100
AcDbPolyline
90
5
70
 
10
1.533638
20
2.676394
30
0.0
10
2.913219
20
2.676394
30
0.0
10
3.242737
20
4.365815
30
0.0
10
1.858762
20
4.365815
30
0.0
10
1.533638
20
2.676394
30
0.0
0
LWPOLYLINE
5
15d
100
AcDbEntity
8
$
62
7
100
AcDbPolyline
90
31
70
 
10
2.161755
20
0.000281
30
0.0
10
2.161755
20
0.701166
30
0.0
10
1.076073
20
0.936747
30
0.0
10
0.353933
20
1.483833
30
0.0
10
0.000282
20
2.406651
30
0.0
10
0.895538
20
2.539041
30
0.0
10
1.261554
20
1.709673
30
0.0
10
2.161755
20
1.293024
30
0.0
10
2.161755
20
3.524185
30
0.0
10
1.038976
20
3.859052
30
0.0
10
0.383610
20
4.376915
30
0.0
10
0.153613
20
5.128407
30
0.0
10
0.826291
20
6.339392
30
0.0
10
2.161755
20
6.720984
30
0.0
10
2.161755
20
7.055851
30
0.0
10
2.686049
20
7.055851
30
0.0
10
2.686049
20
6.720984
30
0.0
10
3.917643
20
6.362755
30
0.0
10
4.619998
20
5.315309
30
0.0
10
3.700012
20
5.206283
30
0.0
10
3.371092
20
5.839032
30
0.0
10
2.686049
20
6.129126
30
0.0
10
2.686049
20
4.108255
30
0.0
10
3.576358
20
3.901871
30
0.0
10
4.253982
20
3.551429
30
0.0
10
4.657094
20
3.060810
30
0.0
10
4.798060
20
2.445589
30
0.0
10
4.209467
20
1.230723
30
0.0
10
2.686049
20
0.708953
30
0.0
10
2.686049
20
0.000281
30
0.0
10
2.161755
20
0.000281
30
0.0
0
LWPOLYLINE
5
15e
100
AcDbEntity
8
$
62
7
100
AcDbPolyline
90
6
70
 
10
2.161755
20
6.136914
30
0.0
10
1.343165
20
5.809835
30
0.0
10
1.043923
20
5.182920
30
0.0
10
1.298650
20
4.583274
30
0.0
10
2.161755
20
4.197800
30
0.0
10
2.161755
20
6.136914
30
0.0
0
LWPOLYLINE
5
15f
100
AcDbEntity
8
$
62
7
100
AcDbPolyline
90
6
70
 
10
2.686049
20
1.293024
30
0.0
10
3.544208
20
1.647372
30
0.0
10
3.883020
20
2.398864
30
0.0
10
3.643131
20
3.012131
30
0.0
10
2.686049
20
3.426828
30
0.0
10
2.686049
20
1.293024
30
0.0
0
LWPOLYLINE
5
160
100
AcDbEntity
8
%
62
7
100
AcDbPolyline
90
9
70
 
10
0.000282
20
5.334189
30
0.0
10
0.240780
20
6.553498
30
0.0
10
0.937919
20
7.055837
30
0.0
10
1.633536
20
6.606018
30
0.0
10
1.909043
20
5.283957
30
0.0
10
1.630492
20
3.975595
30
0.0
10
0.944008
20
3.516643
30
0.0
10
0.269701
20
3.968747
30
0.0
10
0.000282
20
5.334189
30
0.0
0
LWPOLYLINE
5
161
100
AcDbEntity
8
%
62
7
100
AcDbPolyline
90
9
70
 
10
0.953140
20
6.489565
30
0.0
10
0.613704
20
6.224698
30
0.0
10
0.478233
20
5.251990
30
0.0
10
0.615226
20
4.345497
30
0.0
10
0.953140
20
4.082912
30
0.0
10
1.295621
20
4.347782
30
0.0
10
1.431092
20
5.315924
30
0.0
10
1.294099
20
6.226980
30
0.0
10
0.953140
20
6.489565
30
0.0
0
LWPOLYLINE
5
162
100
AcDbEntity
8
%
62
7
100
AcDbPolyline
90
5
70
 
10
0.956185
20
0.000281
30
0.0
10
3.397693
20
7.055837
30
0.0
10
3.842158
20
7.055837
30
0.0
10
1.409782
20
0.000281
30
0.0
10
0.956185
20
0.000281
30
0.0
0
LWPOLYLINE
5
163
100
AcDbEntity
8
%
62
7
100
AcDbPolyline
90
9
70
 
10
2.886255
20
1.817829
30
0.0
10
3.126753
20
3.039424
30
0.0
10
3.826936
20
3.539474
30
0.0
10
4.522553
20
3.089655
30
0.0
10
4.798060
20
1.767594
30
0.0
10
4.519509
20
0.459236
30
0.0
10
3.829980
20
0.000281
30
0.0
10
3.155673
20
0.454669
30
0.0
10
2.886255
20
1.817829
30
0.0
0
LWPOLYLINE
5
164
100
AcDbEntity
8
%
62
7
100
AcDbPolyline
90
9
70
 
10
3.842158
20
2.973205
30
0.0
10
3.499677
20
2.708335
30
0.0
10
3.364206
20
1.735628
30
0.0
10
3.501199
20
0.831419
30
0.0
10
3.839113
20
0.566553
30
0.0
10
4.184638
20
0.831419
30
0.0
10
4.320109
20
1.799561
30
0.0
10
4.183116
20
2.710620
30
0.0
10
3.842158
20
2.973205
30
0.0
0
LWPOLYLINE
5
165
100
AcDbEntity
8
^
62
7
100
AcDbPolyline
90
8
70
 
10
1.299766
20
3.009647
30
0.0
10
0.280017
20
3.009647
30
0.0
10
2.225807
20
7.424873
30
0.0
10
3.025069
20
7.424873
30
0.0
10
4.981884
20
3.009647
30
0.0
10
3.984184
20
3.009647
30
0.0
10
2.622682
20
6.300387
30
0.0
10
1.299766
20
3.009647
30
0.0
0
LWPOLYLINE
5
166
100
AcDbEntity
8
&
62
7
100
AcDbPolyline
90
21
70
 
10
3.449538
20
0.958006
30
0.0
10
2.693430
20
0.270957
30
0.0
10
1.808705
20
0.041942
30
0.0
10
0.417311
20
0.745183
30
0.0
10
0.000282
20
2.026749
30
0.0
10
0.341310
20
3.162580
30
0.0
10
1.360497
20
4.053197
30
0.0
10
0.846032
20
4.909116
30
0.0
10
0.717416
20
5.542960
30
0.0
10
1.120803
20
6.604763
30
0.0
10
2.136092
20
7.055857
30
0.0
10
3.092920
20
6.630211
30
0.0
10
3.465128
20
5.607733
30
0.0
10
2.385530
20
3.956039
30
0.0
10
3.410563
20
2.406130
30
0.0
10
3.683385
20
3.349955
30
0.0
10
4.412211
20
3.164892
30
0.0
10
3.905541
20
1.702888
30
0.0
10
4.798060
20
0.661906
30
0.0
10
4.326467
20
0.000302
30
0.0
10
3.449538
20
0.958006
30
0.0
0
LWPOLYLINE
5
167
100
AcDbEntity
8
&
62
7
100
AcDbPolyline
90
10
70
 
10
2.023066
20
4.492723
30
0.0
10
2.613532
20
5.052542
30
0.0
10
2.747994
20
5.584601
30
0.0
10
2.562865
20
6.151357
30
0.0
10
2.101015
20
6.371120
30
0.0
10
1.627473
20
6.153672
30
0.0
10
1.438446
20
5.621613
30
0.0
10
1.506652
20
5.290813
30
0.0
10
1.711269
20
4.922996
30
0.0
10
2.023066
20
4.492723
30
0.0
0
LWPOLYLINE
5
168
100
AcDbEntity
8
&
62
7
100
AcDbPolyline
90
8
70
 
10
3.009124
20
1.614983
30
0.0
10
1.722961
20
3.507261
30
0.0
10
0.955161
20
2.760066
30
0.0
10
0.756390
20
2.077642
30
0.0
10
1.033110
20
1.221722
30
0.0
10
1.816500
20
0.777568
30
0.0
10
2.469325
20
1.011211
30
0.0
10
3.009124
20
1.614983
30
0.0
0
LWPOLYLINE
5
169
100
AcDbEntity
8
*
62
7
100
AcDbPolyline
90
16
70
 
10
0.723194
20
5.292769
30
0.0
10
0.976753
20
6.075512
30
0.0
10
2.250061
20
5.540814
30
0.0
10
2.139818
20
6.913345
30
0.0
10
2.939080
20
6.913345
30
0.0
10
2.812300
20
5.546345
30
0.0
10
4.113168
20
6.075512
30
0.0
10
4.366727
20
5.292769
30
0.0
10
2.994201
20
4.984102
30
0.0
10
3.942292
20
3.942307
30
0.0
10
3.280833
20
3.473762
30
0.0
10
2.525668
20
4.658869
30
0.0
10
1.809089
20
3.473762
30
0.0
10
1.158654
20
3.942307
30
0.0
10
2.073672
20
4.984102
30
0.0
10
0.723194
20
5.292769
30
0.0
0
LWPOLYLINE
5
16a
100
AcDbEntity
8
(
62
7
100
AcDbPolyline
90
11
70
 
10
3.067408
20
0.000298
30
0.0
10
1.891871
20
1.854548
30
0.0
10
1.411393
20
4.054406
30
0.0
10
1.770585
20
5.976093
30
0.0
10
3.067408
20
8.100065
30
0.0
10
3.669171
20
8.100065
30
0.0
10
2.922798
20
6.848429
30
0.0
10
2.474975
20
5.634723
30
0.0
10
2.274387
20
4.050168
30
0.0
10
3.669171
20
0.000298
30
0.0
10
3.067408
20
0.000298
30
0.0
0
LWPOLYLINE
5
16b
100
AcDbEntity
8
)
62
7
100
AcDbPolyline
90
11
70
 
10
2.013156
20
0.000295
30
0.0
10
1.411393
20
0.000295
30
0.0
10
2.806178
20
4.050165
30
0.0
10
2.605590
20
5.622086
30
0.0
10
2.162431
20
6.835792
30
0.0
10
1.411393
20
8.100062
30
0.0
10
2.013156
20
8.100062
30
0.0
10
3.309979
20
5.976090
30
0.0
10
3.669171
20
4.054403
30
0.0
10
3.186361
20
1.854545
30
0.0
10
2.013156
20
0.000295
30
0.0
0
LWPOLYLINE
5
16c
100
AcDbEntity
8
_
62
7
100
AcDbPolyline
90
5
70
 
10
0.000282
20
-0.722902
30
0.0
10
0.000282
20
-0.006323
30
0.0
10
5.080282
20
-0.006323
30
0.0
10
5.080282
20
-0.722902
30
0.0
10
0.000282
20
-0.722902
30
0.0
0
LWPOLYLINE
5
16d
100
AcDbEntity
8
+
62
7
100
AcDbPolyline
90
13
70
 
10
1.988621
20
1.623870
30
0.0
10
1.988621
20
3.614287
30
0.0
10
0.011024
20
3.614287
30
0.0
10
0.011024
20
4.446102
30
0.0
10
1.988621
20
4.446102
30
0.0
10
1.988621
20
6.421654
30
0.0
10
2.831206
20
6.421654
30
0.0
10
2.831206
20
4.446102
30
0.0
10
4.808802
20
4.446102
30
0.0
10
4.808802
20
3.614287
30
0.0
10
2.831206
20
3.614287
30
0.0
10
2.831206
20
1.623870
30
0.0
10
1.988621
20
1.623870
30
0.0
0
LWPOLYLINE
5
16e
100
AcDbEntity
8
-
62
7
100
AcDbPolyline
90
5
70
 
10
0.799262
20
3.607155
30
0.0
10
0.799262
20
4.453821
30
0.0
10
3.847483
20
4.453821
30
0.0
10
3.847483
20
3.607155
30
0.0
10
0.799262
20
3.607155
30
0.0
0
LWPOLYLINE
5
16f
100
AcDbEntity
8
=
62
7
100
AcDbPolyline
90
5
70
 
10
4.826441
20
4.626115
30
0.0
10
0.028663
20
4.626115
30
0.0
10
0.028663
20
5.438278
30
0.0
10
4.826441
20
5.438278
30
0.0
10
4.826441
20
4.626115
30
0.0
0
LWPOLYLINE
5
170
100
AcDbEntity
8
=
62
7
100
AcDbPolyline
90
5
70
 
10
4.826441
20
2.474923
30
0.0
10
0.028663
20
2.474923
30
0.0
10
0.028663
20
3.287058
30
0.0
10
4.826441
20
3.287058
30
0.0
10
4.826441
20
2.474923
30
0.0
0
LWPOLYLINE
5
171
100
AcDbEntity
8
,
62
7
100
AcDbPolyline
90
10
70
 
10
2.026267
20
0.017640
30
0.0
10
2.026267
20
1.147630
30
0.0
10
3.156259
20
1.147630
30
0.0
10
3.156259
20
0.017640
30
0.0
10
2.935773
20
-0.988313
30
0.0
10
2.235729
20
-1.580866
30
0.0
10
1.960122
20
-1.156432
30
0.0
10
2.423142
20
-0.751302
30
0.0
10
2.588507
20
0.017640
30
0.0
10
2.026267
20
0.017640
30
0.0
0
LWPOLYLINE
5
172
100
AcDbEntity
8
.
62
7
100
AcDbPolyline
90
5
70
 
10
2.030677
20
0.000001
30
0.0
10
2.030677
20
1.129991
30
0.0
10
3.160668
20
1.129991
30
0.0
10
3.160668
20
0.000001
30
0.0
10
2.030677
20
0.000001
30
0.0
0
LWPOLYLINE
5
173
100
AcDbEntity
8
<
62
7
100
AcDbPolyline
90
8
70
 
10
0.458611
20
2.922511
30
0.0
10
0.458611
20
3.848554
30
0.0
10
4.691944
20
6.108536
30
0.0
10
4.691944
20
5.121861
30
0.0
10
1.334924
20
3.380019
30
0.0
10
4.691944
20
1.621644
30
0.0
10
4.691944
20
0.634968
30
0.0
10
0.458611
20
2.922511
30
0.0
0
LWPOLYLINE
5
174
100
AcDbEntity
8
>
62
7
100
AcDbPolyline
90
8
70
 
10
4.550834
20
2.922557
30
0.0
10
0.317500
20
0.635013
30
0.0
10
0.317500
20
1.621689
30
0.0
10
3.670161
20
3.380064
30
0.0
10
0.317500
20
5.121906
30
0.0
10
0.317500
20
6.108581
30
0.0
10
4.550834
20
3.848599
30
0.0
10
4.550834
20
2.922557
30
0.0
0
LWPOLYLINE
5
175
100
AcDbEntity
8
?
62
7
100
AcDbPolyline
90
22
70
 
10
1.937651
20
1.708584
30
0.0
10
1.932580
20
1.964103
30
0.0
10
2.084729
20
2.830079
30
0.0
10
2.444816
20
3.383725
30
0.0
10
3.101594
20
3.977608
30
0.0
10
3.717799
20
4.599870
30
0.0
10
3.859805
20
5.106218
30
0.0
10
3.443930
20
5.979282
30
0.0
10
2.424529
20
6.355485
30
0.0
10
1.450773
20
6.014776
30
0.0
10
0.938537
20
4.950066
30
0.0
10
0.000282
20
5.054177
30
0.0
10
0.753422
20
6.540043
30
0.0
10
2.409314
20
7.055851
30
0.0
10
4.148889
20
6.502177
30
0.0
10
4.798060
20
5.163003
30
0.0
10
4.569836
20
4.325433
30
0.0
10
3.677226
20
3.393185
30
0.0
10
3.093987
20
2.848998
30
0.0
10
2.891121
20
2.446788
30
0.0
10
2.815046
20
1.708584
30
0.0
10
1.937651
20
1.708584
30
0.0
0
LWPOLYLINE
5
176
100
AcDbEntity
8
?
62
7
100
AcDbPolyline
90
5
70
 
10
1.881863
20
0.000294
30
0.0
10
1.881863
20
0.970354
30
0.0
10
2.921551
20
0.970354
30
0.0
10
2.921551
20
0.000294
30
0.0
10
1.881863
20
0.000294
30
0.0
0
LWPOLYLINE
5
177
100
AcDbEntity
8
/
62
7
100
AcDbPolyline
90
5
70
 
10
1.093611
20
0.003312
30
0.0
10
3.436276
20
7.058881
30
0.0
10
4.230026
20
7.058881
30
0.0
10
1.892873
20
0.003312
30
0.0
10
1.093611
20
0.003312
30
0.0
0
LWPOLYLINE
5
178
100
AcDbEntity
8
;
62
7
100
AcDbPolyline
90
5
70
 
10
2.026267
20
4.761457
30
0.0
10
2.026267
20
5.677466
30
0.0
10
3.156259
20
5.677466
30
0.0
10
3.156259
20
4.761457
30
0.0
10
2.026267
20
4.761457
30
0.0
0
LWPOLYLINE
5
179
100
AcDbEntity
8
;
62
7
100
AcDbPolyline
90
10
70
 
10
2.026267
20
0.932040
30
0.0
10
2.026267
20
1.848049
30
0.0
10
3.156259
20
1.848049
30
0.0
10
3.156259
20
0.932040
30
0.0
10
2.935773
20
0.116559
30
0.0
10
2.235729
20
-0.363783
30
0.0
10
1.960122
20
-0.019726
30
0.0
10
2.423142
20
0.308696
30
0.0
10
2.588507
20
0.932040
30
0.0
10
2.026267
20
0.932040
30
0.0
0
LWPOLYLINE
5
17a
100
AcDbEntity
8
:
62
7
100
AcDbPolyline
90
5
70
 
10
2.025165
20
4.572948
30
0.0
10
2.025165
20
5.430519
30
0.0
10
3.155156
20
5.430519
30
0.0
10
3.155156
20
4.572948
30
0.0
10
2.025165
20
4.572948
30
0.0
0
LWPOLYLINE
5
17b
100
AcDbEntity
8
:
62
7
100
AcDbPolyline
90
5
70
 
10
2.025165
20
0.987792
30
0.0
10
2.025165
20
1.845388
30
0.0
10
3.155156
20
1.845388
30
0.0
10
3.155156
20
0.987792
30
0.0
10
2.025165
20
0.987792
30
0.0
0
LWPOLYLINE
5
17c
100
AcDbEntity
8
'
62
7
100
AcDbPolyline
90
7
70
 
10
1.582933
20
5.625122
30
0.0
10
1.359888
20
6.404476
30
0.0
10
1.359888
20
7.074890
30
0.0
10
2.274372
20
7.074890
30
0.0
10
2.274372
20
6.404476
30
0.0
10
2.073632
20
5.625122
30
0.0
10
1.582933
20
5.625122
30
0.0
0
LWPOLYLINE
5
17d
100
AcDbEntity
8
'
62
7
100
AcDbPolyline
90
7
70
 
10
3.059490
20
5.625122
30
0.0
10
2.840906
20
6.404476
30
0.0
10
2.840906
20
7.074890
30
0.0
10
3.755390
20
7.074890
30
0.0
10
3.755390
20
6.404476
30
0.0
10
3.541267
20
5.625122
30
0.0
10
3.059490
20
5.625122
30
0.0
0
LWPOLYLINE
5
17e
100
AcDbEntity
8
`
62
7
100
AcDbPolyline
90
7
70
 
10
1.600572
20
5.625122
30
0.0
10
1.377527
20
6.404476
30
0.0
10
1.377527
20
7.074890
30
0.0
10
2.292011
20
7.074890
30
0.0
10
2.292011
20
6.404476
30
0.0
10
2.091270
20
5.625122
30
0.0
10
1.600572
20
5.625122
30
0.0
0
LWPOLYLINE
5
17f
100
AcDbEntity
8
"
62
7
100
AcDbPolyline
90
7
70
 
10
1.640770
20
5.608059
30
0.0
10
1.417725
20
6.387413
30
0.0
10
1.417725
20
7.057827
30
0.0
10
2.332210
20
7.057827
30
0.0
10
2.332210
20
6.387413
30
0.0
10
2.131469
20
5.608059
30
0.0
10
1.640770
20
5.608059
30
0.0
0
LWPOLYLINE
5
180
100
AcDbEntity
8
"
62
7
100
AcDbPolyline
90
7
70
 
10
3.117328
20
5.608059
30
0.0
10
2.898744
20
6.387413
30
0.0
10
2.898744
20
7.057827
30
0.0
10
3.813228
20
7.057827
30
0.0
10
3.813228
20
6.387413
30
0.0
10
3.599105
20
5.608059
30
0.0
10
3.117328
20
5.608059
30
0.0
0
LWPOLYLINE
5
181
100
AcDbEntity
8
[
62
7
100
AcDbPolyline
90
9
70
 
10
1.260078
20
-0.020971
30
0.0
10
1.260078
20
8.078826
30
0.0
10
3.235634
20
8.078826
30
0.0
10
3.235634
20
7.434463
30
0.0
10
2.155796
20
7.434463
30
0.0
10
2.155796
20
0.623392
30
0.0
10
3.235634
20
0.623392
30
0.0
10
3.235634
20
-0.020971
30
0.0
10
1.260078
20
-0.020971
30
0.0
0
LWPOLYLINE
5
182
100
AcDbEntity
8
]
62
7
100
AcDbPolyline
90
9
70
 
10
3.848585
20
0.000279
30
0.0
10
1.873030
20
0.000279
30
0.0
10
1.873030
20
0.644621
30
0.0
10
2.952867
20
0.644621
30
0.0
10
2.952867
20
7.455707
30
0.0
10
1.873030
20
7.455707
30
0.0
10
1.873030
20
8.100048
30
0.0
10
3.848585
20
8.100048
30
0.0
10
3.848585
20
0.000279
30
0.0
0
LWPOLYLINE
5
183
100
AcDbEntity
8
{
62
7
100
AcDbPolyline
90
33
70
 
10
0.719887
20
4.330412
30
0.0
10
1.331612
20
4.505288
30
0.0
10
1.646005
20
4.962526
30
0.0
10
1.728868
20
5.957093
30
0.0
10
1.758114
20
6.884244
30
0.0
10
1.921403
20
7.453168
30
0.0
10
2.216298
20
7.796622
30
0.0
10
2.664734
20
7.992570
30
0.0
10
3.269148
20
8.034714
30
0.0
10
3.542109
20
8.034714
30
0.0
10
3.542109
20
7.373078
30
0.0
10
3.391006
20
7.373078
30
0.0
10
2.718352
20
7.215049
30
0.0
10
2.552625
20
6.509169
30
0.0
10
2.499008
20
5.114257
30
0.0
10
2.199238
20
4.418900
30
0.0
10
1.533896
20
3.984833
30
0.0
10
2.311347
20
3.392738
30
0.0
10
2.552625
20
2.088412
30
0.0
10
2.572123
20
1.110719
30
0.0
10
2.769532
20
0.710373
30
0.0
10
3.391006
20
0.596588
30
0.0
10
3.542109
20
0.596588
30
0.0
10
3.542109
20
-0.065048
30
0.0
10
3.269148
20
-0.065048
30
0.0
10
2.576997
20
0.002367
30
0.0
10
2.060321
20
0.316325
30
0.0
10
1.794671
20
0.866302
30
0.0
10
1.728868
20
1.957780
30
0.0
10
1.646005
20
3.007140
30
0.0
10
1.331612
20
3.466477
30
0.0
10
0.719887
20
3.643479
30
0.0
10
0.719887
20
4.330412
30
0.0
0
LWPOLYLINE
5
184
100
AcDbEntity
8
}
62
7
100
AcDbPolyline
90
33
70
 
10
4.608689
20
4.395757
30
0.0
10
4.608689
20
3.708824
30
0.0
10
3.996964
20
3.531823
30
0.0
10
3.682571
20
3.074584
30
0.0
10
3.599708
20
2.082143
30
0.0
10
3.570464
20
1.154992
30
0.0
10
3.407174
20
0.583969
30
0.0
10
3.112279
20
0.242615
30
0.0
10
2.663843
20
0.046667
30
0.0
10
2.059429
20
0.000297
30
0.0
10
1.786468
20
0.000297
30
0.0
10
1.786468
20
0.661933
30
0.0
10
1.937572
20
0.661933
30
0.0
10
2.610226
20
0.819962
30
0.0
10
2.775952
20
1.530067
30
0.0
10
2.819821
20
2.865988
30
0.0
10
3.131776
20
3.614012
30
0.0
10
3.794682
20
4.050178
30
0.0
10
3.005044
20
4.663346
30
0.0
10
2.775952
20
5.950798
30
0.0
10
2.751580
20
6.932716
30
0.0
10
2.559045
20
7.326764
30
0.0
10
1.937572
20
7.438449
30
0.0
10
1.786468
20
7.438449
30
0.0
10
1.786468
20
8.100086
30
0.0
10
2.059429
20
8.100086
30
0.0
10
2.751580
20
8.032644
30
0.0
10
3.268257
20
7.720786
30
0.0
10
3.533906
20
7.168736
30
0.0
10
3.599709
20
6.077231
30
0.0
10
3.682573
20
5.029997
30
0.0
10
3.996965
20
4.572759
30
0.0
10
4.608689
20
4.395757
30
0.0
0
LWPOLYLINE
5
185
100
AcDbEntity
8
|
62
7
100
AcDbPolyline
90
5
70
 
10
3.224609
20
0.000275
30
0.0
10
0.881944
20
7.055818
30
0.0
10
1.681207
20
7.055818
30
0.0
10
4.018359
20
0.000275
30
0.0
10
3.224609
20
0.000275
30
0.0
0
ENDSEC
0
SECTION
2
OBJECTS
0
DICTIONARY
5
C
330
 
100
AcDbDictionary
3
ACAD_GROUP
350
D
3
ACAD_MLINESTYLE
350
17
0
DICTIONARY
5
D
330
C
100
AcDbDictionary
0
DICTIONARY
5
1A
330
C
100
AcDbDictionary
0
DICTIONARY
5
17
330
C
100
AcDbDictionary
3
STANDARD
350
18
0
DICTIONARY
5
19
330
C
100
AcDbDictionary
0
ENDSEC
0
EOF
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/src/text/Write.scad
0,0 → 1,388
/* Version 4
Added bold property bold=0 (not bold) bold=1(bolder by 1.1) bold=2(bolder by 1.2)
Added support for font selection (default is Letters.dxf)
Added WriteCube module
Added Rotate for text (rotates on the plane of the text)
Added writesphere
Added space= (spacing between characters in char widths) def=1
Added writecylinder()
 
By Harlan Martin
harlan@sutlog.com
January 2012
 
(The file TestWrite.scad gives More usage examples)
(This module requires the file Letters.dxf to reside in the same folder)
(The file Letters.dfx was created with inkscape..Each letter is in its own layer)
(This module seperates each letter in the string and imports it from Letters.dfx)
*/
 
pi=3.1415926535897932384626433832795028841971693993751058209;
pi2=pi*2;
 
 
// These control the default values for write() writesphere() writecube()
// if the parameters are not included in the call. Feel free to set your own
// defaults.
 
//default settings
bold=0;
center=false;
h = 4; //mm letter height
t = 1; //mm letter thickness
space =1; //extra space between characters in (character widths)
rotate=0; // text rotation (clockwise)
font = "Letters.dxf"; //default for aditional fonts
 
 
// write cube defaults
face = "front"; // default face (top,bottom,left,right,back,front)
up =0; //mm up from center on face of cube
down=0;
right =0; //mm left from center on face of cube
left=0;
 
// write sphere defaults
rounded=false; //default for rounded letters on writesphere
north=0; // intial text position (I suggest leave these 0 defaults)
south=0;
east=0;
west=0;
spin=0;
// writecylinder defaults
middle=0; //(mm toward middle of circle)
ccw=false; //write on top or bottom in a ccw direction
r1=0; //(not implimented yet)
r2=0; //(not implimented yet)
 
 
// Contact me if your interested in how to make your own font files
// Its tedious and time consuming, but not very hard
 
 
module writecylinder(text,where,radius,height){
wid=(.125* h *5.5 * space);
widall=wid*(len(text)-1)/2;
//angle that measures width of letters on sphere
function NAngle(radius)=(wid/(pi2*radius))*360;
//angle of half width of text
function mmangle(radius)=(widall/(pi2*radius)*360);
if ((face=="top")||(face=="bottom") ){
if (face=="top" ){
if (center==true){
writecircle(text,where+[0,0,height/2],radius-h,rotate=rotate,font=font,h=h,t=t,
space=space,east=east,west=west,middle=middle,ccw=ccw,bold=bold);
}else{
writecircle(text,where+[0,0,height],radius-h,rotate=rotate,font=font,h=h,t=t,
space=space,east=east,west=west,middle=middle,ccw=ccw,bold=bold);
}
}else{
rotate(180,[1,0,0])
if (center==true){
writecircle(text,where+[0,0,height/2],radius-h,rotate=rotate,font=font,h=h,t=t,
space=space,east=east,west=west,middle=middle,ccw=ccw,bold=bold);
}else{
writecircle(text,where+[0,0,0],radius-h,rotate=rotate,font=font,h=h,t=t,
space=space,east=east,west=west,middle=middle,ccw=ccw,bold=bold);
}
}
}else{
// if (radius>0){
if (center==true) {
rotate(-mmangle(radius)*(1-abs(rotate)/90),[0,0,1])
translate(where)
writethecylinder(text,where,radius,height,r1=radius,r2=radius,h=h,
rotate=rotate,t=t,font=font,face=face,up=up,down=down,
east=east,west=west,center=center,space=space,rounded=rounded,bold=bold);
} else{
rotate(-mmangle(radius)*(1-abs(rotate)/90),[0,0,1])
translate(where+[0,0,height/2])
writethecylinder(text,where,radius,height,r1=radius,r2=radius,h=h,
rotate=rotate,t=t,font=font,face=face,up=up,down=down,
east=east,west=west,center=center,space=space,rounded=rounded,bold=bold);
}
// the remarked out code is for cone shaped cylinders (not complete)
// }else{
// if (center==true) {
// rotate(-mmangle(radius)*(1-abs(rotate)/90),[0,0,1])
// translate(where)
// writethecylinder(text,where,radius,height,r1=r1,r2=r2,h=h,
// rotate=rotate,t=t,font=font,face=face,up=up,down=down,
// east=east,west=west,center=center,space=space,rounded=rounded);
// } else{
// rotate(-mmangle(radius)*(1-abs(rotate)/90),[0,0,1])
// translate(where+[0,0,height/2])
// writethecylinder(text,where,radius,height,r1=r1,r2=r2,h=h,
// rotate=rotate,t=t,font=font,face=face,up=up,down=down,
// east=east,west=west,center=center,space=space,rounded=rounded);
// }
// }
}
}
module writecircle(text,where,radius){
wid=(.125* h *5.5 * space);
widall=wid*(len(text)-1)/2;
//angle that measures width of letters on sphere
function NAngle(radius)=(wid/(pi2*radius))*360;
//angle of half width of text
function mmangle(radius)=(widall/(pi2*radius)*360);
if (ccw==true){
rotate(-rotate+east-west,[0,0,1]){
rotate(-mmangle(radius-middle),[0,0,1]){
translate(where)
for (r=[0:len(text)-1]){
rotate(-90+r*NAngle(radius-middle),[0,0,1]) // bottom out=-270+r
translate([radius-middle,0,0])
//rotate(90,[1,0,0])
//rotate(90,[0,1,0])
rotate(-270,[0,0,1]) // flip text (botom out = -270)
write(text[r],center=true,h=h,t=t,font=font,bold=bold);
}
}
}
}else{
rotate(-rotate-east+west,[0,0,1]){
rotate(mmangle(radius-middle),[0,0,1]){
translate(where)
for (r=[0:len(text)-1]){
rotate(90-r*NAngle(radius-middle),[0,0,1]) // bottom out=-270+r
translate([radius-middle,0,0])
//rotate(90,[1,0,0])
//rotate(90,[0,1,0])
rotate(270,[0,0,1]) // flip text (botom out = -270)
write(text[r],center=true,h=h,t=t,font=font,bold=bold);
}
}
}
}
 
}
module writethecylinder(text,where,radius,height,r1,r2){
wid=(.125* h *5.5 * space);
widall=wid*(len(text)-1)/2;
//angle that measures width of letters on sphere
function NAngle(radius)=(wid/(pi2*radius))*360*(1-abs(rotate)/90);
//angle of half width of text
 
function mmangle(radius)=(widall/(pi2*radius)*360);
translate([0,0,up-down])
rotate(east-west,[0,0,1])
for (r=[0:len(text)-1]){
rotate(-90+(r*NAngle(radius)),[0,0,1])
translate([radius,0,-r*((rotate)/90*wid)+(len(text)-1)/2*((rotate)/90*wid)])
rotate(90,[1,0,0])
rotate(90,[0,1,0])
write(text[r],center=true,h=h,rotate=rotate,t=t,font=font,bold=bold);
//echo("zloc=",height/2-r*((rotate)/90*wid)+(len(text)-1)/2*((rotate)/90*wid));
}
 
}
 
 
module writesphere(text,where,radius){
wid=(.125* h *5.5 * space);
widall=wid*(len(text)-1)/2;
echo("-----------------",widall,wid,mmangle(radius));
//angle that measures width of letters on sphere
function NAngle(radius)=(wid/(pi2*radius))*360;
//angle of half width of text
function mmangle(radius)=(widall/(pi2*radius)*360);
 
rotate(east-west,[0,0,1]){
rotate(south-north,[1,0,0]){
rotate(spin,[0,1,0]){
rotate(-mmangle(radius),[0,0,1]){
if ( rounded== false ){
translate(where)
for (r=[0:len(text)-1]){
rotate(-90+r*NAngle(radius),[0,0,1])
translate([radius,0,0])
rotate(90,[1,0,0])
rotate(90,[0,1,0])
write(text[r],center=true,h=h,rotate=rotate,t=t,font=font,bold=bold);
}
}else{
difference(){
translate(where)
for (r=[0:len(text)-1]){
rotate(-90+r*NAngle(radius),[0,0,1])
translate([radius,0,0])
rotate(90,[1,0,0])
rotate(90,[0,1,0])
write(text[r],center=true,h=h,rotate=rotate,t=t*2+h,font=font,bold=bold);
}
difference(){ //rounded outside
sphere(radius+(t*2+h)*2);
sphere(radius+t/2);
}
sphere(radius-t/2); // rounded inside for indented text
}
}
}
}}}
}
 
 
module writecube(text,where,size){
if (str(size)[0] != "["){
// its a square cube (size was not a matrix so make it one)
writethecube(text,where,[size,size,size],h=h,rotate=rotate,space=space,
t=t,font=font,face=face,up=up,down=down,right=right,left=left,bold=bold);
 
}else{
// its not square
writethecube(text,where,size,h=h,rotate=rotate,space=space,
t=t,font=font,face=face,up=up,down=down,right=right,left=left,bold=bold);
}
}
// I split the writecube module into 2 pieces.. easier to add features later
module writethecube(text,where,size){
if (face=="front") {
translate([where[0]+right-left,where[1]-size[1]/2,where[2]+up-down])
rotate(90,[1,0,0])
write(text,center=true,h=h,rotate=rotate,t=t,font=font,space=space,bold=bold);
}
if (face=="back") {
translate([where[0]+right-left,where[1]+size[1]/2,where[2]+up-down])
rotate(90,[1,0,0]) // rotate around the x axis
rotate(180,[0,1,0]) // rotate around the y axis (z before rotation)
write(text,center=true,h=h,rotate=rotate,t=t,font=font,space=space,bold=bold);
}
if (face=="left") {
translate([where[0]-size[0]/2,where[1]-right+left,where[2]+up-down ])
rotate(90,[1,0,0]) // rotate around the x axis
rotate(90,[0,-1,0]) // rotate around the y axis (z before rotation)
write(text,center=true,h=h,rotate=rotate,t=t,font=font,space=space,bold=bold);
}
if (face=="right") {
translate([where[0]+size[0]/2,where[1]+right-left,where[2] +up-down])
rotate(90,[1,0,0]) // rotate around the x axis
rotate(90,[0,1,0]) // rotate around the y axis (z before rotation)
write(text,center=true,h=h,rotate=rotate,t=t,font=font,space=space,bold=bold);
}
if (face=="top") {
translate([where[0]+right-left,where[1]+up-down,where[2]+size[2]/2 ])
write(text,center=true,h=h,rotate=rotate,t=t,font=font,space=space,bold=bold);
}
if (face=="bottom") {
translate([where[0]+right-left,where[1]-up+down,where[2]-size[2]/2 ])
rotate(180,[1,0,0])
write(text,center=true,h=h,rotate=rotate,t=t,font=font,space=space,bold=bold);
}
}
 
module write(word){
echo (h);
echo (word);
echo ("There are " ,len(word) ," letters in this string");
// echo ("The second letter is ",word[1]);
// echo (str(word[0],"_"));
minkowski() {
rotate(rotate,[0,0,-1]){
for (r = [0:len(word)]){ // count off each character
// if the letter is lower case, add an underscore to the end for file lookup
if ((word[r] == "a" ) || (word[r]== "b") || (word[r]== "c")
|| (word[r]== "d") || (word[r]== "e") || (word[r]== "f")
|| (word[r]== "g") || (word[r]== "h") || (word[r]== "i")
|| (word[r]== "j") || (word[r]== "k") || (word[r]== "l")
|| (word[r]== "m") || (word[r]== "n") || (word[r]== "o")
|| (word[r]== "p") || (word[r]== "q") || (word[r]== "r")
|| (word[r]== "s") || (word[r]== "t") || (word[r]== "u")
|| (word[r]== "v") || (word[r]== "w") || (word[r]== "x")
|| (word[r]== "y" )|| (word[r]== "z")){
if (center == true) {
translate([0,-h/2,0]){
scale([.125*h,.125*h,t]){
translate([ (-len(word)*5.5*space/2) + (r*5.5*space),0,0])
//offset(delta = 20, join_type = "round") {
linear_extrude(height=1,convexity=10,center=true){
import(file = font,layer=str(word[r],"_"));
}//}
}
}
}else{
translate([0,0,t/2]){
scale([.125*h,.125*h,t]){
translate([r*5.5*space,0,0])
//offset(delta = 20, join_type = "round") {
linear_extrude(height=1,convexity=10,center=true){
import(file = font,layer=str(word[r],"_"));
}//}
}
}
}
 
}else{
if (center == true) {
translate([0,-h/2,0]){
scale([.125*h,.125*h,t]){
translate([ (-len(word)*5.5*space/2) + (r*5.5*space),0,0])
//offset(delta = 20, join_type = "round") {
linear_extrude(height=1,convexity=10,center=true){
import(file = font,layer=str(word[r]));
}//}
}
}
}else{
translate([0,0,t/2]){
scale([.125*h,.125*h,t]){
translate([r*5.5*space,0,0])
//offset(delta = 20, join_type = "round") {
linear_extrude(height=1,convexity=10,center=true){
import(file = font,layer=str(word[r]));
}//}
}
}
}
}
}
}
cube([bold*.1*h,bold*.1*h,.00001]);
}
}
 
/*writecylinder test
translate([0,0,0])
%cylinder(r=20,h=40,center=true);
color([1,0,0])
writecylinder("rotate=90",[0,0,0],20,40,center=true,down=0,rotate=90);
writecylinder("rotate = 30,east = 90",[0,0,0],20,40,center=true,down=0,rotate=30,east=90);
writecylinder("ccw = true",[0,0,0],20,40,center=true,down=0,face="top",ccw=true);
writecylinder("middle = 8",[0,0,0],20,40,h=3,center=true,down=0,face="top",middle=8);
writecylinder("face = top",[0,0,0],20,40,center=true,down=0,face="top");
writecylinder("east=90",[0,0,0],20,40,h=3,center=true,down=0,face="top",east=90);
writecylinder("west=90",[0,0,0],20,40,h=3,center=true,down=0,face="top",ccw=true,west=90);
writecylinder("face = bottom",[0,0,0],20,40,center=true,down=0,face="bottom");
*/
/*writesphere test
sphere(20);
color([1,0,0])
writesphere("Hello World",[0,0,0],20,t=1,h=6);
*/
/* writecube test
translate([30,30,30])
cube([10,15,30],center=true);
write("hello",center=true,rotate =30);
color([1,0,0])
writecube( "front",[30,30,30],[10,15,30],h=5,rotate=-90);
color([0,1,0])
writecube( "back",[30,30,30],size=[10,15,30],h=5,face="back",rotate=90,t=4);
color([0,0,1])
writecube( "left",[30,30,30],[10,15,30],h=5,face="left",up=5);
color([1,1,0])
writecube( "right",where=[30,30,30],size=[10,15,30],h=5,face="right",rotate=55);
color([1,0,1])
writecube( "top",where=[30,30,30],size=[10,15,30],h=5,face="top");
color([1,1,1])
writecube( "bttm",where=[30,30,30],size=[10,15,30],h=5,face="bottom",rotate=90);
*/
 
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/print_data/CLOCKMOT01A_BOX01A_PLBASE_top.scad
0,0 → 1,24
use <../src/plbase.scad>
 
 
 
include <../src/manufactury_conf.scad>
include <../configuration.scad>
include <../src/otvory_conf.scad>
use <../src/otvory.scad>
 
difference() {
translate([0,0,tloustka_plbase/2])
rotate(a=[0,0,0])
{
plbase_vrchni_kryt_pro_odecet(pocet_der1-1,pocet_der2-1,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice,plbase_tolerance_horni,tloustka_plbase);
}
translate([-3.5,50,1])
rotate(a=[-90,0,0])
IR(tloustka_plbase,vyska_bocnice);
}
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/print_data/CLOCKMOT01A_BOX01A.scad
0,0 → 1,23
use <../src/plbase.scad>
use <../src/sloupek.scad>
use <../upravena_bocnice.scad>
 
 
 
include <../src/manufactury_conf.scad>
include <../configuration.scad>
 
 
 
//BOCNICE
//-------------------------------------------------------------
 
difference () {
translate([0,0,(vyska_bocnice/2)+tloustka_plbase])
upravena_bocnice();
 
 
}
 
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/print_data/CLOCKMOT01A_BOX01A_kryt.scad
0,0 → 1,16
use <../src/spodni_kryt.scad>
 
 
 
include <../src/manufactury_conf.scad>
include <../configuration.scad>
 
 
translate([0,0,tloustka_plbase/2])
rotate(a=[0,0,0])
{
spodni_kryt(pocet_der1-1,pocet_der2-1,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice);
}
/Designs/Laboratory_instruments/CLOCKMOT01A/CAD/CLOCKMOT01A_BOX01A/CAD/upravena_bocnice.scad
0,0 → 1,149
use <src/bocnice.scad>
 
use <src/otvory.scad>
use <src/plbase.scad>
include <src/manufactury_conf.scad>
include <configuration.scad>
include <src/otvory_conf.scad>
 
upravena_bocnice();
 
//Slouzi pro vytvoreni vlastnich celicek dle potreby
 
//Vytvoreni predniho celicka krabicky
//--------------------------------------------------------
module upravena_bocnice()
{
difference() {
union() {
bocnice(pocet_der1-1,pocet_der2-1,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,vyska_bocnice,prekryti_der,tloustka_bocnice);
 
translate([-((pocet_der2-1)*vzdalenost_der+2*vzdalenost_od_okraje)/2-tloustka_bocnice,-vzdalenost_od_okraje-tloustka_bocnice,-(vyska_bocnice/2)])
rotate(a=[180,0,90])
 
 
plbase(pocet_der1,pocet_der2,radidus_hrany,vzdalenost_der,vzdalenost_od_okraje,prumer_sroubu,tloustka_plbase,prekryti_der,tloustka_bocnice);
}
union() {
//Vytvoreni otvorů v přední stěně
//--------------------------------------------------------
translate([-((pocet_der2-1)*vzdalenost_der)/2,-vzdalenost_od_okraje-tloustka_bocnice/2,-(vyska_bocnice/2)])
{
//složí k posunu otvoru v násobku děr
posun_p1=10;
translate([posun_p1*vzdalenost_der,0,0])
UNIPOWER03A(tloustka_bocnice,vzdalenost_der);
posun_p2=9.5;
translate([posun_p2*vzdalenost_der,0,0])
MIC338(tloustka_bocnice,vzdalenost_der,vyska_bocnice);
posun_p3=5.5;
translate([posun_p3*vzdalenost_der,0,0])
MIC338(tloustka_bocnice,vzdalenost_der,vyska_bocnice);
posun_p4=2;
translate([posun_p4*vzdalenost_der,0,0])
IR(tloustka_bocnice,vyska_bocnice);
}
}
 
 
 
 
//Vytvoreni zadniho celicka krabicky
//--------------------------------------------------------
translate([((pocet_der2-1)*vzdalenost_der)/2,(pocet_der1-1)*vzdalenost_der+vzdalenost_od_okraje+tloustka_bocnice/2,-(vyska_bocnice/2)])
{
//složí k posunu otvoru v násobku děr
posun_z1=6.5;
translate([-posun_z1*vzdalenost_der,0,0])
rotate(a=[0,0,180])
IR(tloustka_bocnice,vyska_bocnice);
posun_z2=0;
translate([-posun_z2*vzdalenost_der,0,0])
rotate(a=[0,0,180])
CHLADICI_OTVORY2(tloustka_bocnice,vzdalenost_der,pocet_der2-8,vyska_bocnice);
 
posun_z3=7.5;
translate([-posun_z3*vzdalenost_der,0,0])
rotate(a=[0,0,180])
CHLADICI_OTVORY2(tloustka_bocnice,vzdalenost_der,pocet_der2-9,vyska_bocnice);
}
 
 
 
 
//Vytvoreni leveho celicka krabicky
//--------------------------------------------------------
 
 
 
translate([-((pocet_der2-1)*vzdalenost_der)/2-vzdalenost_od_okraje-tloustka_bocnice/2,(pocet_der1-1)*vzdalenost_der,-(vyska_bocnice/2)])
{
//složí k posunu otvoru v násobku děr
posun_l1=4.2;
translate([0,-posun_l1*vzdalenost_der,0])
rotate(a=[0,0,-90])
IR(tloustka_bocnice,vyska_bocnice);
posun_l2=10.5;
translate([0,-posun_l2*vzdalenost_der,0])
rotate(a=[0,0,-90])
I2CDIFF01A(tloustka_bocnice,vzdalenost_der);
posun_l3=5;
translate([0,-posun_l3*vzdalenost_der,0])
rotate(a=[0,0,-90])
CHLADICI_OTVORY2(tloustka_bocnice,vzdalenost_der,pocet_der1-6,vyska_bocnice);
posun_l4=0;
translate([0,-posun_l4*vzdalenost_der,0])
rotate(a=[0,0,-90])
CHLADICI_OTVORY2(tloustka_bocnice,vzdalenost_der,pocet_der1-6,vyska_bocnice);
}
 
 
 
 
 
//Vytvoreni praveho celicka krabicky
//--------------------------------------------------------
translate([+((pocet_der2-1)*vzdalenost_der)/2+vzdalenost_od_okraje+tloustka_bocnice/2,0,-(vyska_bocnice/2)])
{
//složí k posunu otvoru v násobku děr
posun_pr1=4.2;
translate([0,posun_pr1*vzdalenost_der,0])
rotate(a=[0,0,90])
IR(tloustka_bocnice,vyska_bocnice);
posun_pr2=10;
translate([0,posun_pr2*vzdalenost_der,0])
rotate(a=[0,0,90])
I2CDIFF01A(tloustka_bocnice,vzdalenost_der);
posun_pr3=5;
translate([0,posun_pr3*vzdalenost_der,0])
rotate(a=[0,0,90])
CHLADICI_OTVORY2(tloustka_bocnice,vzdalenost_der,pocet_der1-6,vyska_bocnice);
posun_pr4=0;
translate([0,posun_pr4*vzdalenost_der,0])
rotate(a=[0,0,90])
CHLADICI_OTVORY2(tloustka_bocnice,vzdalenost_der,pocet_der1-6,vyska_bocnice);
}
 
 
}
}
/Designs/Laboratory_instruments/CLOCKMOT01A/SW/CLOCKMOT.py
0,0 → 1,233
#!/usr/bin/python
# -------------------------------------------
# HBSTEP01B Stepper Motor control test code
# -------------------------------------------
#
# Program uses MLAB Python modules library from https://github.com/MLAB-project/pymlab
 
 
#uncomment for debbug purposes
import logging
logging.basicConfig(level=logging.DEBUG)
 
import sys
import time
import spidev # SPI binding
import pylirc # infrared receiver binding
 
#### Script Arguments ###############################################
 
if len(sys.argv) == 2:
SPEED = eval(sys.argv[1])
 
else:
sys.stderr.write("Invalid number of arguments.\n")
sys.stderr.write("Usage: %s BASE_SPEED (in steps/s)\n" % (sys.argv[0], ))
sys.exit(1)
 
 
class axis:
def __init__(self, SPI_handler, Direction, StepsPerUnit):
' One axis of robot '
self.spi = SPI_handler
self.Dir = Direction
self.SPU = StepsPerUnit
self.Reset()
self.Initialize()
 
def Reset(self):
'Reset the Axis'
self.spi.xfer([0xC0]) # reset
 
def Initialize(self):
'set default parameters for H-bridge '
# self.spi.xfer( 0x14) # Stall Treshold setup
# self.spi.xfer( 0xFF)
# self.spi.xfer( 0x13) # Over Current Treshold setup
# self.spi.xfer( 0xFF)
self.spi.xfer([0x15]) # Full Step speed
self.spi.xfer([0xFF])
self.spi.xfer([0xFF])
self.spi.xfer([0x05]) # ACC
self.spi.xfer([0x00])
self.spi.xfer([0x10])
self.spi.xfer([0x06]) # DEC
self.spi.xfer([0x00])
self.spi.xfer([0x10])
self.spi.xfer([0x0A]) # KVAL_RUN
self.spi.xfer([0x05])
self.spi.xfer([0x0B]) # KVAL_ACC
self.spi.xfer([0x05])
self.spi.xfer([0x0C]) # KVAL_DEC
self.spi.xfer([0x05])
# self.spi.xfer([0x18]) # CONFIG
# self.spi.xfer([0b00111010])
# self.spi.xfer([0b10001000])
def MaxSpeed(self, speed):
'Setup of maximum speed in steps/s'
speed_value = int(speed / 15.25)
if (speed_value == 0):
speed_value = 1
print hex(speed_value)
 
data = [(speed_value >> i & 0xff) for i in (16,8,0)]
self.spi.xfer([data[0]]) # Max Speed setup
self.spi.xfer([data[1]])
self.spi.xfer([data[2]])
return (speed_value * 15.25)
 
def ReleaseSW(self):
' Go away from Limit Switch '
while self.ReadStatusBit(2) == 1: # is Limit Switch ON ?
self.spi.xfer([0x92 | (~self.Dir & 1)]) # release SW
while self.GetStatus()['BUSY']:
pass
self.MoveWait(10) # move 10 units away
def GoZero(self, speed):
' Go to Zero position '
self.ReleaseSW()
self.spi.xfer([0x82 | (self.Dir & 1)]) # Go to Zero
self.spi.xfer([0x00])
self.spi.xfer([speed])
while self.GetStatus()['BUSY']:
pass
time.sleep(0.3)
self.ReleaseSW()
 
def GetStatus(self):
#self.spi.xfer([0b11010000]) # Get status command from datasheet - does not work for uknown rasons
self.spi.xfer([0x39]) # Gotparam command on status register
data = self.spi.readbytes(1)
data = data + self.spi.readbytes(1)
 
status = dict([('SCK_MOD',data[0] & 0x80 == 0x80), #The SCK_MOD bit is an active high flag indicating that the device is working in Step-clock mode. In this case the step-clock signal should be provided through the STCK input pin. The DIR bit indicates the current motor direction
('STEP_LOSS_B',data[0] & 0x40 == 0x40),
('STEP_LOSS_A',data[0] & 0x20 == 0x20),
('OCD',data[0] & 0x10 == 0x10),
('TH_SD',data[0] & 0x08 == 0x08),
('TH_WRN',data[0] & 0x04 == 0x04),
('UVLO',data[0] & 0x02 == 0x02),
('WRONG_CMD',data[0] & 0x01 == 0x01), #The NOTPERF_CMD and WRONG_CMD flags are active high and indicate, respectively, that the command received by SPI cannot be performed or does not exist at all.
('NOTPERF_CMD',data[1] & 0x80 == 0x80),
('MOT_STATUS',data[1] & 0x60),
('DIR',data[1] & 0x10 == 0x10),
('SW_EVN',data[1] & 0x08 == 0x08),
('SW_F',data[1] & 0x04 == 0x04), #The SW_F flag reports the SW input status (low for open and high for closed).
('BUSY',data[1] & 0x02 != 0x02),
('HIZ',data[1] & 0x01 == 0x01)])
return status
 
def Move(self, units):
' Move some distance units from current position '
steps = units * self.SPU # translate units to steps
if steps > 0: # look for direction
self.spi.xfer([0x40 | (~self.Dir & 1)])
else:
self.spi.xfer([0x40 | (self.Dir & 1)])
steps = int(abs(steps))
self.spi.xfer([(steps >> 16) & 0xFF])
self.spi.xfer([(steps >> 8) & 0xFF])
self.spi.xfer([steps & 0xFF])
 
def Run(self, direction, speed):
speed_value = int(speed / 0.015)
print speed_value
 
data = [0b01010000 + direction]
data = data +[(speed_value >> i & 0xff) for i in (16,8,0)]
self.spi.xfer([data[0]]) # Max Speed setup
self.spi.xfer([data[1]])
self.spi.xfer([data[2]])
self.spi.xfer([data[3]])
return (speed_value * 0.015)
 
def MoveWait(self, units):
' Move some distance units from current position and wait for execution '
self.Move(units)
while self.GetStatus()['BUSY']:
pass
time.sleep(0.8)
 
def Float(self, hard = False):
' switch H-bridge to High impedance state '
if (hard == False):
self.spi.xfer([0xA0])
else:
self.spi.xfer([0xA8])
 
 
# End Class axis --------------------------------------------------
 
print "Clock motor control script started. \r\n"
print "Requested speed is: %f steps/s" % SPEED
 
pylirc.init("pylirc", "/home/odroid/conf")
 
try:
print "Configuring SPI.."
spi = spidev.SpiDev() # create a spi object
spi.open(0, 0) # open spi port 0, device (CS) 0
spi.mode = 0b01
spi.lsbfirst = False
spi.bits_per_word = 8
spi.cshigh = False
spi.max_speed_hz = 100000
#spi.SPI_config(spi.I2CSPI_MSB_FIRST| spi.I2CSPI_MODE_CLK_IDLE_HIGH_DATA_EDGE_TRAILING| spi.I2CSPI_CLK_461kHz)
time.sleep(1)
 
print "Configuring stepper motor.."
X = axis(spi, 0, 1) # set Number of Steps per axis Unit and set Direction of Rotation
# maximum_speed = X.MaxSpeed(100.0)
#X.GetStatus()
 
# print "Motor speed limit is: %f steps/s" % maximum_speed
running = False
 
while True:
pass
 
 
print "Waiting for IR command.."
while True: # set maximal motor speed
key = pylirc.nextcode() ## preccessing the IR remote control commands.
 
if key == ['start']:
running = True
direction = True
requested_speed = SPEED
 
if key == ['faster']:
running = True
direction = True
requested_speed = SPEED * 1.2 # runnig the motor at 120% of the base motor speed
 
if key == ['slower']:
running = True
direction = False
requested_speed = SPEED * 0.2
 
if key == ['stop']:
running = False
 
time.sleep(0.1)
 
if running == True:
real_speed = X.Run(direction, requested_speed)
print "Motor running at: %f steps/s" % real_speed
else:
X.Reset()
#X.Initialize()
X.Float(hard=False) # release power
print "Stopping the motor."
 
except KeyboardInterrupt:
print "stop"
X.Float(hard=False) # release power
sys.exit(0)
 
except Exception, e:
# X.Float(hard=False) # release power
print >> sys.stderr, "Exception: %s" % str(e)
sys.exit(1)
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/Designs/Laboratory_instruments/CLOCKMOT01A/SW/start.sh
0,0 → 1,3
#!/bin/bash
cd /home/odroid/repos/CLOCKMOT01A/
./CLOCKMOT.py 52.36
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/Designs/Laboratory_instruments/CLOCKMOT01A/DOC/SRC/CLOCKMOT01A.html.in
0,0 → 1,26
<html>
<head>
<meta charset=utf-8/>
<link rel="stylesheet" type="text/css" href="/home/ondra6ak/Documents/mlabgen/style.css">
<title>
Mlab|$HumanName
</title>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({extensions: ["asciimath2jax.js"],
jax: ["input/AsciiMath", "output/CommonHTML"],
asciimath2jax: {delimiters: [['$M','M$']]},
CommonHTML: {mtextFontInherit: true},
showProcessingMessages: false,
messageStyle: "none",
showMathMenu: false});
</script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
</head>
</head>
<body>
$Text
</body>
</html>
/Designs/Laboratory_instruments/CLOCKMOT01A/DOC/SRC/CLOCKMOT01A.md.in
0,0 → 1,37
$HumanName
==========
 
Brought to you by: $Author
 
$Descr
 
Specifications
--------------
 
Specification | Value | Unit | Note
----------------- | ------------- | ---- | --------------
Operating Voltage | | V |
Power Consumption | | mA |
Dimensions | $Dimensions | mm | width x length
 
Description
-----------
 
!9.9;9.9;287.1;200.1;!(../SCH_PCB/${Module}_SCH.svg)
 
Mechanical construction
-----------------------
 
Component placement
-------------------
 
![PCB top](../../CAM_AMA/${Module}_TOP.svg "Top side of a PCB") ![PCB bottom](../../CAM_AMA/${Module}_BOT.svg "Bottom side of a PCB")
 
$bom
 
First power up
--------------
 
Programming
----------
 
/Designs/Laboratory_instruments/CLOCKMOT01A/Makefile
0,0 → 1,8
TARGETS = DOC/$(MODULE).html \
DOC/SRC/$(MODULE).md \
PrjInfo.txt \
DOC/$(MODULE).pdf
 
MATHJAX = /home/ondra6ak/Documents/MathJax/MathJax.js
 
include mlabgen.mk
/Designs/Laboratory_instruments/CLOCKMOT01A/PrjInfo.txt.in
0,0 → 1,13
[HumanName]
Human friendly name of the module
 
[BuyLinkTindie]
Link to module's page on Tindie.
 
[BuyLinkUST]
Link to module's page on Universal Scientific Technologies.
 
[Dev]
True
 
[End]