sobota 27. května 2017

OpenSCAD 2D kreslení

circle
circle(d=3, $fn=25);

square
square([10,20],center=true);

linear_extrude
linear_extrude(height=10, scale=1, slices=20, twist=0)

polygon
polygon(points=[[0,0],[100,0],[130,50],[30,50]]);

středa 24. května 2017

Co může za chybu v Castle?

Server Error in '/' Application.
Publisher tried to start subscriber NěcoNěco that was not found
Exception Details
Castle.Facilities.EventWiring.EventWiringException: Publisher tried to start subscriber NěcoNěco that was not found

Zkontrolujte jestli máte zaregistrovanou implementaci požadovaného rozhraní.

pondělí 22. května 2017

OpenSCAD - tahák

Často používané proměnné
Width = 50; //x
Height = 50; //y
Thiknes = 1.5; //z
ScrewHole=3;
Pitch=10;
EmentalHole=4;

cube
cube([BoxWidth, BoxHeight, BoxDepth]);

cylinder
cylinder(h=2,d=7.5,center=true); // válec s průměrem 7.5
cylinder(16,r=3,true,$fn=60); // válec s poloměrem 3

translate
translate([-50,85,1]) // posun v ose x, y, z

rotate
rotate([90,0,270]) // otočení

difference()
Odečítá od prvního tělesa všechny následující

union()
sloučí všechny tělesa do jednoho

intersection()
Vytvoří průnik mezi dvěma tělesy (pouze ta část kde se překrývají)

for
Pokud je potřeba více otvorů nebo něco zopakovat
for (y =[0:Height/Pitch])
                translate([40, -Height/2+y*Pitch+Pitch/2, 0])
                cylinder(d=EmentalHole,h=Thiknes,center=true,$fn=10);

module
Vytvoření modulu se hodí pro části které se v modelu opakují. Např. kulatý roh, sloupek, atp.
Modul může mít několik parametrů. Z toho některé můžou mít výchozí hodnotu a pak není potřeba je vyplňovat.

module corner(x,y,z,r=90){
...
}
corner(10,10,10,180);

neděle 9. dubna 2017

WPF - lokalizace

Překlady řetězců ve WPF aplikaci do několika různých jazyků.

<Window
....
xmlns:translate="clr-namespace:MyApp.Translate;assembly=MyApp.Translate"
...
>

Zdroj:
https://www.tutorialspoint.com/wpf/wpf_localization.htm

středa 5. dubna 2017

Open SCAD - Parametrická krabička

Postup:
Vytvoříme si několik proměnných, které budeme u krabičky chtít měnit. Výšku, šířku, hloubku a tloušťku stěny.

V prvním kroku si vytvoříme pomocí funkce cube kvádr o zadaných rozměrech.
Následně vytvoříme kvádr, který bude o tloušťku stěny menší. Ten od původního odečteme ve funkci difference. Pokud necháme vše centrovat na počátek souřadnic stačí když menší kvádr posuneme jen o tloušťku stěny výš aby nám vzniklo dno krabičky.
Zdrojový kód pak může vypadat takto:

Width=70;
Height=50;
Depth=40;
WallThiknes=1.5;
difference(){
cube([Width, Height, Depth], center=true);
translate([0, 0, WallThiknes])
    cube([Width-2*WallThiknes, Height-2*WallThiknes, Depth-WallThiknes], center=true);
}


Pokud nebudeme používat centrování, pak musíme posunout vnitřní kvádr ve všech směrech, jak ukazuje zdrojový kód níže.

Width=70;
Height=50;
Depth=40;
WallThiknes=1.5; 
difference(){
cube([Width,Height,Depth]);
translate([WallThiknes, WallThiknes, WallThiknes])
    cube([Width-2*WallThiknes, Height-2*WallThiknes, Depth-WallThiknes]);
}

Zdroje:
http://www.openscad.org/ 

čtvrtek 2. března 2017