Initial import
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,136 @@
|
||||
only = "*";
|
||||
|
||||
color = "Black";
|
||||
sku = "FibreX";
|
||||
type = "ABS+GF";
|
||||
manuf = "3DXTECH";
|
||||
|
||||
layer_height = 0.1;
|
||||
swatches = 8;
|
||||
swatch_width = 10;
|
||||
|
||||
card_width = swatches * swatch_width;
|
||||
|
||||
if (only == "*" || only == "c") {
|
||||
difference() {
|
||||
color("blue")
|
||||
card();
|
||||
label();
|
||||
}
|
||||
}
|
||||
|
||||
if (only == "*" || only == "l") {
|
||||
color("magenta")
|
||||
label();
|
||||
}
|
||||
|
||||
if (only == "*" || only == "b") {
|
||||
difference() {
|
||||
translate([0, 0, 0])
|
||||
cube([card_width, 15, 3]);
|
||||
|
||||
black();
|
||||
}
|
||||
}
|
||||
|
||||
if (only == "*" || only == "w") {
|
||||
difference() {
|
||||
translate([0, 15, 0])
|
||||
cube([card_width, 15, 3]);
|
||||
|
||||
white();
|
||||
}
|
||||
}
|
||||
|
||||
if (only == "b2") {
|
||||
black();
|
||||
}
|
||||
|
||||
if (only == "w2") {
|
||||
white();
|
||||
}
|
||||
|
||||
module label() {
|
||||
translate([0, 0, 2])
|
||||
_label();
|
||||
|
||||
translate([card_width, 0, 1])
|
||||
rotate([0, 180, 0])
|
||||
_label();
|
||||
}
|
||||
|
||||
module _label() {
|
||||
translate([card_width / 2, 48, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=color, size=5, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
translate([card_width * 12 / 64, 41, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=manuf, size=3.5, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
translate([card_width * 52 / 64, 41, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=sku, size=3.5, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
translate([card_width / 2, 40.75, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=type, size=4, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
for (i = [0:swatches-1]) {
|
||||
t = str(layer_height * (i+1));
|
||||
|
||||
translate([5 + (i * swatch_width), 33, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=str(t[1], t[2]), size=2.5, font="JetBrains Mono:style=Medium", halign="center");
|
||||
}
|
||||
}
|
||||
|
||||
module card() {
|
||||
difference() {
|
||||
hull() {
|
||||
cube([card_width, 55, 3]);
|
||||
|
||||
for (x = [0, card_width]) {
|
||||
for (y = [0, 55]) {
|
||||
translate([x, y, 0])
|
||||
cylinder(h=3, d=4, $fn=100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
translate([0, 0, -0.01])
|
||||
cube([card_width, 15, 3.02]);
|
||||
|
||||
translate([0, 15, -0.01])
|
||||
cube([card_width, 15, 3.01]);
|
||||
}
|
||||
|
||||
black();
|
||||
white();
|
||||
}
|
||||
|
||||
module black() {
|
||||
translate([0, 0, 3.0])
|
||||
stack();
|
||||
|
||||
translate([card_width, 0, 0])
|
||||
rotate([0, 180, 0])
|
||||
stack();
|
||||
}
|
||||
|
||||
module white() {
|
||||
translate([0, 15, 3])
|
||||
stack();
|
||||
|
||||
translate([card_width, 15, 0])
|
||||
rotate([0, 180, 0])
|
||||
stack();
|
||||
}
|
||||
|
||||
module stack() {
|
||||
for (i = [0:swatches]) {
|
||||
color("teal", alpha=0.3)
|
||||
translate([swatch_width * i, 0, 0 - ((i+1) * layer_height)])
|
||||
cube([swatch_width * (swatches - i), 15, layer_height]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
// * c l b w
|
||||
only = "w";
|
||||
|
||||
color = "Red";
|
||||
sku = "40200";
|
||||
type = "ABS";
|
||||
manuf = "Bambu";
|
||||
top = "Ironed";
|
||||
bottom = "Engineering";
|
||||
|
||||
layer_height = 0.12;
|
||||
nozzle = 0.2;
|
||||
|
||||
card_height = 3;
|
||||
swatches = 10;
|
||||
swatch_width = 10;
|
||||
swatch_height = 10;
|
||||
|
||||
e = 0.02;
|
||||
|
||||
card_width = swatches * swatch_width;
|
||||
|
||||
if (only == "*" || only == "c") {
|
||||
difference() {
|
||||
color("blue", alpha=0.3)
|
||||
card();
|
||||
label();
|
||||
}
|
||||
}
|
||||
|
||||
if (only == "*" || only == "l") {
|
||||
color("magenta")
|
||||
label();
|
||||
}
|
||||
|
||||
if (only == "*" || only == "b") {
|
||||
black();
|
||||
}
|
||||
|
||||
if (only == "*" || only == "w") {
|
||||
white();
|
||||
}
|
||||
|
||||
module label() {
|
||||
translate([0, 0, 2])
|
||||
_label(top);
|
||||
|
||||
translate([card_width, 0, 1])
|
||||
rotate([0, 180, 0])
|
||||
_label(bottom);
|
||||
}
|
||||
|
||||
module _label(surface) {
|
||||
l1 = 48;
|
||||
l2 = 41;
|
||||
l3 = 34;
|
||||
|
||||
l = card_width * 12 / 64;
|
||||
c = card_width / 2;
|
||||
r = card_width * 52 / 64;
|
||||
|
||||
translate([c, l1, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=color, size=5, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
translate([l, l2, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=manuf, size=4, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
translate([c, l2 - 0.25, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=type, size=4, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
translate([r, l2, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=sku, size=4, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
translate([l, l3, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=str("L ", layer_height), size=4, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
translate([c, l3, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=surface, size=4, font="JetBrains Mono:style=Medium", halign="center");
|
||||
|
||||
translate([r, l3, 0])
|
||||
linear_extrude(1.01)
|
||||
text(text=str("N ", nozzle), size=4, font="JetBrains Mono:style=Medium", halign="center");
|
||||
}
|
||||
|
||||
module card() {
|
||||
difference() {
|
||||
hull() {
|
||||
for (x = [0, card_width]) {
|
||||
for (y = [0, 55]) {
|
||||
translate([x, y, 0])
|
||||
cylinder(h=card_height, d=4, $fn=100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
translucent();
|
||||
white();
|
||||
black();
|
||||
}
|
||||
}
|
||||
|
||||
module black() {
|
||||
color("black")
|
||||
stack();
|
||||
}
|
||||
|
||||
module white() {
|
||||
translate([0, swatch_height, 0])
|
||||
color("white")
|
||||
stack();
|
||||
}
|
||||
|
||||
module translucent() {
|
||||
translate([0, swatch_height * 2 + (nozzle * 2), 0])
|
||||
for (i = [0:swatches-1]) {
|
||||
translate([swatch_width * i, 0, 0])
|
||||
translate([0, 0, (i + 1) * layer_height])
|
||||
cube([swatch_width, swatch_height, card_height - (i * layer_height)]);
|
||||
}
|
||||
}
|
||||
|
||||
module stack() {
|
||||
for (i = [0:swatches-1]) {
|
||||
translate([swatch_width * i, 0, 0])
|
||||
color("black")
|
||||
translate([0, 0, e + (swatches - i) * layer_height])
|
||||
cube([swatch_width, swatch_height, card_height - e - ((swatches + 1) * layer_height)]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user