Compare commits
861 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9c3bb9d5d5 | ||
|
eab84a99a1 | ||
|
f4592293b5 | ||
|
8c442ecc75 | ||
|
8f13d81406 | ||
|
711c9b902d | ||
|
4b12e00759 | ||
|
cd0a24e17f | ||
|
5b0f5c0259 | ||
|
96b686e7d8 | ||
|
711489a650 | ||
|
363f01c84f | ||
|
8f7149a550 | ||
|
e6c4ffc117 | ||
|
f6b9b4b0c5 | ||
|
2413e9160f | ||
|
91f9df1e61 | ||
|
be96adb708 | ||
|
b192a8ff48 | ||
|
7f03bc7561 | ||
|
4b50ee9f10 | ||
|
66f958ddc3 | ||
|
f7f0716670 | ||
|
9cdf6985c6 | ||
|
8c95e91e78 | ||
|
26f150e138 | ||
|
69bf03d78e | ||
|
67ec1b91aa | ||
|
a4db2b2072 | ||
|
a8bed95fb6 | ||
|
4316b5dc61 | ||
|
5033c415db | ||
|
56c2da387d | ||
|
6042779e5e | ||
|
ebe1ddffe5 | ||
|
1cdb460901 | ||
|
cb5bca7ee2 | ||
|
2d1bbe05f2 | ||
|
56d169e677 | ||
|
ee125eafd6 | ||
|
f41f33597f | ||
|
bbc6123ede | ||
|
7298067343 | ||
|
a790409292 | ||
|
b99b57da9e | ||
|
ce5179358d | ||
|
b12d8584b3 | ||
|
cd82a67fb3 | ||
|
61d2706fd3 | ||
|
090cbbf4e6 | ||
|
7bfe89ef64 | ||
|
49ef2ab03b | ||
|
78ed61b1a9 | ||
|
eaab50c362 | ||
|
ed0e30a2af | ||
|
53e14229c4 | ||
|
6a5b580562 | ||
|
4c2fe1e3d5 | ||
|
02a6c469e8 | ||
|
5794e1678b | ||
|
83bd7aa9d2 | ||
|
2e0e06f12d | ||
|
5d8bf26cd8 | ||
|
2eb1faf550 | ||
|
1976798c64 | ||
|
e6818fe1ce | ||
|
ac7fc33204 | ||
|
39bf9ae7cc | ||
|
d18a613609 | ||
|
fbf47fa042 | ||
|
e3e9331a70 | ||
|
e99d71d3b9 | ||
|
e9c61e1550 | ||
|
55d5f6162e | ||
|
bf9088bfe2 | ||
|
989353d453 | ||
|
ee44936f1e | ||
|
ae32838d1a | ||
|
f1d864e44a | ||
|
ec9fbc6162 | ||
|
51acd1cb8b | ||
|
3847a0b6d4 | ||
|
e52d9fb0f5 | ||
|
bdab6e256f | ||
|
f80d9a9f70 | ||
|
b02e2b0415 | ||
|
ca644cf181 | ||
|
aaddea18a7 | ||
|
a489367eb6 | ||
|
d440add9ca | ||
|
9a91734859 | ||
|
c4e3ebb65a | ||
|
9783d2cde0 | ||
|
42650a7a19 | ||
|
5f38d3fc1f | ||
|
383b249868 | ||
|
6cdd6a0049 | ||
|
0dab066caa | ||
|
c57ae76941 | ||
|
c1c4ef40d0 | ||
|
0a629cefb4 | ||
|
d6213ffddb | ||
|
ecf2e96a42 | ||
|
f668445d0e | ||
|
5e8514ba43 | ||
|
b92eafd9ea | ||
|
7c03032564 | ||
|
a569a9bbfb | ||
|
22664ba0f8 | ||
|
bcee3a899d | ||
|
c4e42b63a9 | ||
|
c7a48d26bd | ||
|
a0332ccadf | ||
|
5177a5f4d9 | ||
|
3efaf6e14e | ||
|
ea019663c7 | ||
|
be8a88608b | ||
|
a7d65e55bd | ||
|
fbbc0f0796 | ||
|
0ce3688981 | ||
|
67c10c3fbb | ||
|
f6bc560ff5 | ||
|
32ea18b40e | ||
|
cf1c8c71ab | ||
|
2448fe26d9 | ||
|
0b920df2cb | ||
|
5c93a7d6c9 | ||
|
2598fb2be2 | ||
|
2ec87b2287 | ||
|
67982f450d | ||
|
08135fb8b6 | ||
|
1521152c50 | ||
|
906de42f7f | ||
|
364345ad7f | ||
|
0eb2e4f974 | ||
|
9a7b5948a0 | ||
|
31a150da2b | ||
|
afffa07f3f | ||
|
06c7490f3a | ||
|
25ace9564a | ||
|
76cdc85635 | ||
|
2a8ed85596 | ||
|
78613f76cd | ||
|
7513ae304e | ||
|
c843c99b11 | ||
|
330d523736 | ||
|
3b14f473c8 | ||
|
1329b45c74 | ||
|
2bc5bb863a | ||
|
94bb5ee229 | ||
|
ca9f4c7af3 | ||
|
4a2083d15b | ||
|
aee7794fd2 | ||
|
53c79bf7a4 | ||
|
7868b07b02 | ||
|
8fbb00c7db | ||
|
f0d77c242f | ||
|
f206de4a1a | ||
|
d2e2c7867a | ||
|
fb7eab6a31 | ||
|
78fc088438 | ||
|
4026a206b6 | ||
|
b4a7ae46ad | ||
|
0a61fd4095 | ||
|
e56c12f7a6 | ||
|
1e1f4c7d65 | ||
|
74e087e4dd | ||
|
1d68bad5d7 | ||
|
2e2b4de1eb | ||
|
3640a84769 | ||
|
d9b4917c43 | ||
|
fa71d252bf | ||
|
0dc533e681 | ||
|
0b7c8467cc | ||
|
1492189de6 | ||
|
be515c4162 | ||
|
db1b762a39 | ||
|
c3e46716e3 | ||
|
9f55817a59 | ||
|
0a395fe097 | ||
|
4559145519 | ||
|
4c3c027995 | ||
|
94d2585d41 | ||
|
fd431a751b | ||
|
1913013326 | ||
|
8a609c2f57 | ||
|
7a52bf3b00 | ||
|
5d2fc04705 | ||
|
63bc668d51 | ||
|
e046155b36 | ||
|
48603db468 | ||
|
0e37195ede | ||
|
1a63f93a7b | ||
|
f5e9e17af3 | ||
|
7ecf84d054 | ||
|
ee0086343c | ||
|
fe98244c30 | ||
|
254c6d2d69 | ||
|
d27b48bfb7 | ||
|
5849718ed5 | ||
|
ce1ef24d64 | ||
|
3cd0d138af | ||
|
df1bad4887 | ||
|
fa9b23a117 | ||
|
b08c2d482a | ||
|
2ffe6b8e94 | ||
|
96ab55b0ca | ||
|
ed6fafd0fc | ||
|
771edcf831 | ||
|
e924e8b25a | ||
|
c89c440bda | ||
|
a9fd1444d8 | ||
|
dea79663c1 | ||
|
8ad280c731 | ||
|
60b49cbeae | ||
|
cd2b59ceee | ||
|
9f47301aa7 | ||
|
be8e713784 | ||
|
2f7993b70a | ||
|
68234d6079 | ||
|
02fac4ea5c | ||
|
018b2e8be2 | ||
|
7e0400ea91 | ||
|
cd46a948df | ||
|
afd337e84f | ||
|
a26895f101 | ||
|
5d0a3e7710 | ||
|
3f21202fac | ||
|
016b88b2a4 | ||
|
603611ab16 | ||
|
0bb4fa6485 | ||
|
f549a07981 | ||
|
2b336e881a | ||
|
246a3a3d84 | ||
|
ec5bc38c18 | ||
|
a8c7fc57b2 | ||
|
be7f736f95 | ||
|
1fd45af2fa | ||
|
4eaf763a85 | ||
|
77df23ae83 | ||
|
5f0e83cfc6 | ||
|
feb29e2f5d | ||
|
e99c0b3172 | ||
|
1e8167d823 | ||
|
41f7f5a08c | ||
|
b9e357069b | ||
|
d09dccd7d5 | ||
|
f4bf9d83fc | ||
|
4a7abcf263 | ||
|
9a10484fee | ||
|
654ec5000c | ||
|
9fea6538ac | ||
|
75715369b5 | ||
|
37ee1d28c5 | ||
|
34a9e38e12 | ||
|
542cd41284 | ||
|
18dd9276f1 | ||
|
4babdca442 | ||
|
40589cf204 | ||
|
a4ff4a7746 | ||
|
3bbed7e8c0 | ||
|
d7f8885135 | ||
|
ddf0f36a51 | ||
|
f7a50a4580 | ||
|
b9ca3bb246 | ||
|
044b359bf4 | ||
|
ef38ee2186 | ||
|
32ff45758c | ||
|
92d57a0312 | ||
|
57e3facaa9 | ||
|
1900801cad | ||
|
6a9e1e7b06 | ||
|
88e0876d2f | ||
|
02b1d1e132 | ||
|
b1b5efe022 | ||
|
0486b85f2a | ||
|
00c7c10b22 | ||
|
5567476120 | ||
|
0a64658378 | ||
|
1f326b83e7 | ||
|
cc47f81dc1 | ||
|
4d7acb3734 | ||
|
2b121d386b | ||
|
195bf91850 | ||
|
af779562ba | ||
|
6d3a4fba03 | ||
|
c06388fcdb | ||
|
4e46dcb8fb | ||
|
aca1a3ab96 | ||
|
f8e7c45b03 | ||
|
bd1e6166fc | ||
|
7baaef8421 | ||
|
7d4023445b | ||
|
27da9ffdae | ||
|
9dd793541f | ||
|
232225bf83 | ||
|
00118ed183 | ||
|
72c5ddafec | ||
|
948d4aafae | ||
|
8d796a001f | ||
|
0390817c03 | ||
|
eb70c87117 | ||
|
9b80531d47 | ||
|
e87e219671 | ||
|
0829106ed3 | ||
|
d3f2fedfac | ||
|
8fcb52550b | ||
|
170a3aa33d | ||
|
97a3e2acfd | ||
|
ce46dd1b12 | ||
|
19d20c40a7 | ||
|
01b45bf25f | ||
|
4f74a6302e | ||
|
bb70134be9 | ||
|
ba7f7422a9 | ||
|
7bb8acaed0 | ||
|
6fe1021d50 | ||
|
6dae9ec2ad | ||
|
9c2ede680b | ||
|
47fbf6437c | ||
|
b478067f9c | ||
|
1276c471e7 | ||
|
c958138e8f | ||
|
e8c87b1632 | ||
|
31141aa1db | ||
|
55926726e4 | ||
|
22eac8bfb3 | ||
|
237045ccd5 | ||
|
744206b554 | ||
|
8b1175ba2b | ||
|
65fcfdfbc7 | ||
|
7dd8ffdd10 | ||
|
8fc1c225eb | ||
|
93cc69f661 | ||
|
47a2f00573 | ||
|
4831d47a7a | ||
|
e9ed9602fd | ||
|
1cf53c0c6d | ||
|
606aba22a9 | ||
|
32fd8a3e21 | ||
|
18e69d7c9a | ||
|
7aada2d208 | ||
|
b479725b59 | ||
|
a6a673173f | ||
|
b12e5c7446 | ||
|
d4caf1f7e8 | ||
|
a212700dfe | ||
|
d88fd6ac55 | ||
|
9c23eb1a46 | ||
|
46c485db16 | ||
|
e76c35e9a1 | ||
|
eab6aadc05 | ||
|
a646846b9a | ||
|
e6b10ab416 | ||
|
e98fd39278 | ||
|
e6274d6202 | ||
|
4779343a85 | ||
|
b7966c80a5 | ||
|
fa18ee0b91 | ||
|
ce0bbc5b6e | ||
|
ee709a6620 | ||
|
9797e9ba71 | ||
|
c8dbc4bce0 | ||
|
803de57be9 | ||
|
6ed6b39777 | ||
|
ceac65bc5b | ||
|
640b54f948 | ||
|
da36511c99 | ||
|
38b1774390 | ||
|
0241c83ec2 | ||
|
440e5ec6a7 | ||
|
4a125077a6 | ||
|
4aca215d23 | ||
|
d2c222ec02 | ||
|
61922a3f64 | ||
|
9a3767ccbd | ||
|
4b0974807c | ||
|
3ae3029b57 | ||
|
3ad03be311 | ||
|
62e8d2af84 | ||
|
15c549c0c0 | ||
|
207cc23f7b | ||
|
9fc93a0448 | ||
|
1e97f09092 | ||
|
b125336ae4 | ||
|
aded6760ab | ||
|
d4d3d5f4d5 | ||
|
38a91fe2bd | ||
|
05d564af41 | ||
|
cef421c6b0 | ||
|
a42fa85fae | ||
|
69e8910c1b | ||
|
6a0694b81f | ||
|
77d3a71c40 | ||
|
61d841ca4b | ||
|
2c0c83c669 | ||
|
53106fe963 | ||
|
275ec843d3 | ||
|
4a25e489cd | ||
|
9e563e92e3 | ||
|
3683beaae6 | ||
|
9be7582777 | ||
|
a2deee0784 | ||
|
7ef226c549 | ||
|
16da72c02b | ||
|
b9590c4a10 | ||
|
d8c4d8f51f | ||
|
a1626d88f3 | ||
|
cd11de64c3 | ||
|
bb4d83fa01 | ||
|
e1ec2ac66a | ||
|
76e3a01326 | ||
|
31d8782cec | ||
|
c7b1c74292 | ||
|
6529e56820 | ||
|
00b3d95c32 | ||
|
66a97cf5d9 | ||
|
267dcd498f | ||
|
6e136008bf | ||
|
f92bb8788e | ||
|
8fcabc6d4d | ||
|
acf64ed84f | ||
|
0b6739a143 | ||
|
b719e95ce5 | ||
|
dd7ed32f4c | ||
|
f749e4808a | ||
|
8eabde6be9 | ||
|
07d96b2e10 | ||
|
be08328c32 | ||
|
a49b27ecb1 | ||
|
65f297070f | ||
|
10a6727215 | ||
|
e2e6b9437c | ||
|
724046397d | ||
|
73d40a312e | ||
|
60d9cba21a | ||
|
67a5465e09 | ||
|
a5772f7ee6 | ||
|
cd4b87287f | ||
|
8b429529c5 | ||
|
8c4fb236bf | ||
|
c16d43669e | ||
|
e82545fe37 | ||
|
a7121c6a33 | ||
|
ead4450b1c | ||
|
020bf01023 | ||
|
b7ad7ea46e | ||
|
e1774765de | ||
|
96ed654236 | ||
|
241d6dcb21 | ||
|
2dfc5f4174 | ||
|
b7fb2632b8 | ||
|
de9515e1ac | ||
|
f18d5b69e1 | ||
|
5cfa5108d4 | ||
|
6873f12403 | ||
|
d3618e968f | ||
|
943498700c | ||
|
64f39ff904 | ||
|
b80cb1a3b6 | ||
|
0416c449f5 | ||
|
6bdfeb8d6b | ||
|
a63a08fd5c | ||
|
f65d20b68b | ||
|
022717206e | ||
|
48d50d5f61 | ||
|
082689db2a | ||
|
9b85b09878 | ||
|
f3eca190f1 | ||
|
f9d4203a27 | ||
|
e69ab760de | ||
|
74c425bb84 | ||
|
0458eea63d | ||
|
f370b1105f | ||
|
25d26216e9 | ||
|
61d4d38feb | ||
|
6255c9ef87 | ||
|
56e7992ad9 | ||
|
a5e7d1b4c9 | ||
|
7f12425364 | ||
|
16f6fcfbb6 | ||
|
4e463a51f3 | ||
|
4f75ba64ef | ||
|
94cae52f9d | ||
|
367c9e4b9d | ||
|
db239d34cb | ||
|
40579752ab | ||
|
2ef63ddd38 | ||
|
a2cd79cfa7 | ||
|
24cbc8924c | ||
|
98f62e9b29 | ||
|
0c15ed2954 | ||
|
4b663aa563 | ||
|
8caa2f02d6 | ||
|
107837bbdd | ||
|
3ccb725645 | ||
|
426f2623f7 | ||
|
16637b098c | ||
|
e42d70c11e | ||
|
385258bbc9 | ||
|
7db613cef2 | ||
|
6cacd821e8 | ||
|
702a2c9577 | ||
|
132bdba10f | ||
|
3d29408155 | ||
|
9fb90341af | ||
|
3cd041d2bf | ||
|
b0c299e0a4 | ||
|
9210fee4fc | ||
|
f3c39702ac | ||
|
fabdfb6bed | ||
|
b8901a9d3c | ||
|
fb383f787b | ||
|
f64c0b6612 | ||
|
e5e734c440 | ||
|
7b5996c756 | ||
|
2e271bab3c | ||
|
92324ba78f | ||
|
cb2a580de0 | ||
|
4b37babadb | ||
|
982cbefec5 | ||
|
0badb22b54 | ||
|
6c15fc2fe0 | ||
|
7ba82e0279 | ||
|
44857c2875 | ||
|
ce549c54cf | ||
|
5a7fc3130b | ||
|
12c490481a | ||
|
aa82cd4af4 | ||
|
8c6f3aad2d | ||
|
0aa52ae97f | ||
|
3577813f62 | ||
|
3f356e0e7c | ||
|
602c7e6541 | ||
|
a9270db161 | ||
|
7ef6e6fbf7 | ||
|
7e71667694 | ||
|
9556f60050 | ||
|
69cbd7e88a | ||
|
9d751ada18 | ||
|
5d67b717e0 | ||
|
07b95f0240 | ||
|
e7e0494aa1 | ||
|
5fcd2c473e | ||
|
19185c677a | ||
|
64ada004ba | ||
|
1fc7cad25e | ||
|
4e7c46d495 | ||
|
98f6a46c9b | ||
|
1d969a2cd4 | ||
|
48ec27ff2c | ||
|
533a5b2833 | ||
|
e3ff941430 | ||
|
e933aee5a8 | ||
|
f31cfde720 | ||
|
1aeae78e5d | ||
|
7f92f417c5 | ||
|
373e3c3064 | ||
|
8404b3332e | ||
|
bc9818b59b | ||
|
f03296c672 | ||
|
df52a9e52e | ||
|
c335111b44 | ||
|
5212f6ffc4 | ||
|
36b4cdf0d2 | ||
|
aba9f192b9 | ||
|
b7026a1b92 | ||
|
cf70c376ac | ||
|
f8bfe807a0 | ||
|
2f6e3e9252 | ||
|
38fe5aded2 | ||
|
693d5465ba | ||
|
2da3c97212 | ||
|
aa6afab346 | ||
|
3b13717d3d | ||
|
0210035a50 | ||
|
c7dacfddd8 | ||
|
92c32b70a1 | ||
|
6a6b9289af | ||
|
ebf6dc5bca | ||
|
ca40a5c120 | ||
|
5f8e4fed0f | ||
|
4fad8da2fa | ||
|
7488f62df7 | ||
|
33276552e9 | ||
|
58d03af46b | ||
|
df97574a66 | ||
|
ea401ce009 | ||
|
3d3ad1151a | ||
|
918fde08a1 | ||
|
fe27685932 | ||
|
a6131f8da3 | ||
|
103f848a80 | ||
|
e3ef5a3de9 | ||
|
5e0bdc068b | ||
|
939161bdba | ||
|
0309699822 | ||
|
08c51370dd | ||
|
dfec4ba772 | ||
|
8bb38eceb2 | ||
|
00521289f3 | ||
|
4c8c578fbf | ||
|
78b45beaa2 | ||
|
e4ac6dcb98 | ||
|
ea0fee1148 | ||
|
2cd6e31a65 | ||
|
ddbed585b0 | ||
|
81cb948a53 | ||
|
7333d474e1 | ||
|
aa6a1a9453 | ||
|
8a2667b8f1 | ||
|
566acf7a99 | ||
|
954948480b | ||
|
b56c516fe7 | ||
|
78f7b0b4aa | ||
|
0fc52bd023 | ||
|
f9f22d9fc2 | ||
|
348f04b10f | ||
|
19e57f965e | ||
|
86fb7c1279 | ||
|
55400c9d2c | ||
|
1be93b3bb1 | ||
|
a6c3e1ee8a | ||
|
bb686e7077 | ||
|
4123be7a66 | ||
|
f924000a4a | ||
|
8456295e0a | ||
|
d3611493fb | ||
|
91b127210b | ||
|
f599107da2 | ||
|
78a28239dd | ||
|
114cece327 | ||
|
ef9035120d | ||
|
33a09d4332 | ||
|
f29e410654 | ||
|
34dc0d2f3a | ||
|
3704abf382 | ||
|
d258a062ea | ||
|
3330ac3f7d | ||
|
ad5dbbc143 | ||
|
e2eb36bb57 | ||
|
2fc63d1904 | ||
|
1f9ee747ae | ||
|
374000df9c | ||
|
c5bfc89c4a | ||
|
ad07fbe1b5 | ||
|
68afaab061 | ||
|
8b239c22a3 | ||
|
828e3ae5ff | ||
|
275a01396a | ||
|
75284851e9 | ||
|
bf1f3ce23e | ||
|
08a414909e | ||
|
9e0dc10ed4 | ||
|
2f16883109 | ||
|
45ccf8aed3 | ||
|
927d551620 | ||
|
2129c09fb9 | ||
|
76306a2a80 | ||
|
6451029b9f | ||
|
cbea572747 | ||
|
386e8b934e | ||
|
6b906292aa | ||
|
03bca85e34 | ||
|
237232dc07 | ||
|
a3a0767ea3 | ||
|
719217ad6c | ||
|
3c3e2b7356 | ||
|
50903803c3 | ||
|
e6aec7f07e | ||
|
3cb8f8fb7d | ||
|
7a588bb95b | ||
|
8e8a09b030 | ||
|
a1185cc9c7 | ||
|
7dcf44cd67 | ||
|
5e86912b2e | ||
|
6d95a8bf9f | ||
|
d4bec58375 | ||
|
d8dafe7224 | ||
|
4d5cf0e59b | ||
|
eb9b13841f | ||
|
afa3dbcd62 | ||
|
7634a0dd72 | ||
|
4c7ef79c17 | ||
|
4914dda1ac | ||
|
1229716878 | ||
|
e87321fc32 | ||
|
d0712918a2 | ||
|
373f10a52b | ||
|
0edf8c2946 | ||
|
3252461b32 | ||
|
e572b6bf1f | ||
|
25366f54e6 | ||
|
cf1d60045f | ||
|
e145a137f0 | ||
|
0623296ad9 | ||
|
538ed7b38e | ||
|
bc8bf7f67b | ||
|
f5f0c7d5f8 | ||
|
842bb858c0 | ||
|
0205686b9f | ||
|
e6eca1f526 | ||
|
1c43b879f9 | ||
|
89d1233c9f | ||
|
ae217d6426 | ||
|
2760ba2b65 | ||
|
47228742ed | ||
|
e327df46f3 | ||
|
ba71c3099f | ||
|
553e47a010 | ||
|
d2d9a0b48f | ||
|
3ae965216b | ||
|
e83ac7489a | ||
|
a308bc7422 | ||
|
368c6db77e | ||
|
4c6130f851 | ||
|
1a15d307a6 | ||
|
b8295ab5f1 | ||
|
256971467c | ||
|
34303057a2 | ||
|
9fe1994049 | ||
|
bfcd168e4b | ||
|
c8a5993787 | ||
|
f439c17c1f | ||
|
d7d34fa322 | ||
|
32361d57c5 | ||
|
247574c2e4 | ||
|
bd0325979f | ||
|
dace753dde | ||
|
1ba1ceddc7 | ||
|
bfba37c99f | ||
|
ccd0be5551 | ||
|
ff2cf213da | ||
|
10744c9337 | ||
|
b022b859cc | ||
|
0a0f18b323 | ||
|
f266d18efa | ||
|
d86be387f1 | ||
|
4174cde9d8 | ||
|
dc31063b4c | ||
|
1b07f29fa8 | ||
|
a19da610fb | ||
|
c4d1207cf8 | ||
|
9e026d98ee | ||
|
5f816e4d5b | ||
|
25a8c24c4e | ||
|
113a7f876c | ||
|
921e67f511 | ||
|
ed2845a4e8 | ||
|
df4ebba3c3 | ||
|
e6fe09c649 | ||
|
93c53d213d | ||
|
8f770f713b | ||
|
0dacbb8bee | ||
|
83a8382aea | ||
|
8fc3939cae | ||
|
ba29e95bf5 | ||
|
55a8675550 | ||
|
dce3d0018b | ||
|
9f1276d232 | ||
|
1d46034298 | ||
|
76c703dfc2 | ||
|
8957fb0e1d | ||
|
4b539c3b3e | ||
|
1f1744a58e | ||
|
7c14a6339e | ||
|
181602df7a | ||
|
d50bc8d5a8 | ||
|
3a4f168835 | ||
|
daefe1e8d1 | ||
|
d5b232cdb5 | ||
|
c4372b13c8 | ||
|
db6adbb195 | ||
|
aa7be463f8 | ||
|
c7e00eaed5 | ||
|
22d2cfa413 | ||
|
ec399f3926 | ||
|
4708f039fc | ||
|
60ba1b8ae1 | ||
|
7088e1652a | ||
|
0f78b248f6 | ||
|
cc6b19984b | ||
|
355d78da86 | ||
|
3d8b1dcab7 | ||
|
75a95fa8d9 | ||
|
f66c19945f | ||
|
a06f4ad267 | ||
|
e32402649c | ||
|
76c7d15179 | ||
|
132fa734e9 | ||
|
606fd3310c | ||
|
8700b0527c | ||
|
6398003513 | ||
|
e91c1b24ad | ||
|
2a207bf709 | ||
|
86a7f9bb9d | ||
|
a900d5bf3b | ||
|
a226e0a625 | ||
|
d692f700f7 | ||
|
e3e5d91ea9 | ||
|
108450b029 | ||
|
00f1b3a63d | ||
|
993bd617aa | ||
|
4dc5fdd1d9 | ||
|
d98c3ee6f6 | ||
|
6c570ef757 | ||
|
1af801f54a | ||
|
b72ae73c2e | ||
|
b144df1db1 | ||
|
dde70b656c | ||
|
5504ef1b89 | ||
|
d246d4b8f8 | ||
|
65497a1bd2 | ||
|
9927662c90 | ||
|
1be303c2fe | ||
|
a5a477f602 | ||
|
801bc1afae | ||
|
1c2e9b3293 | ||
|
a115f06e7c | ||
|
a9ee80d42f | ||
|
b673a41c4f | ||
|
40d71b3b3f | ||
|
9c4a783f02 | ||
|
16e06de537 | ||
|
8655ab4df4 | ||
|
38717abd1a | ||
|
9ec796696c | ||
|
bbf6f7d5ca | ||
|
2db1b5fedc | ||
|
ef7adbdbc0 | ||
|
76f8debeb2 | ||
|
fd6fce1eae | ||
|
e83fa5f249 | ||
|
db28df088b | ||
|
bf7a481011 | ||
|
4754438be4 | ||
|
fcb0d89a27 | ||
|
a5039c8f5a | ||
|
99e68cfb31 | ||
|
6bda7cc3fa | ||
|
fd5cb7f54c | ||
|
4916d30c08 | ||
|
ade18af430 | ||
|
e9aa9f6c36 | ||
|
e31a7b7883 | ||
|
f25c02a37d | ||
|
d7c9a326cc | ||
|
ee2e4d1c0e | ||
|
fa8a524c90 | ||
|
c718d58e15 | ||
|
c71b612d01 | ||
|
c0c98c125e | ||
|
5dc3132fcf | ||
|
2cde1a5bcb | ||
|
aeda6fc34c | ||
|
9940e18fff | ||
|
f400281c15 | ||
|
749a9a95ae | ||
|
f5b3024b09 | ||
|
8d9f6d5f9b | ||
|
cc38eee4ed |
217
README.md
@@ -1,158 +1,163 @@
|
||||
# dotSCAD 2.0
|
||||
# dotSCAD 2.2.1
|
||||
|
||||
> **Reduce the burden of 3D modeling in mathematics.**
|
||||
|
||||

|
||||

|
||||
|
||||
[](https://github.com/JustinSDK/lib-openscad/blob/master/LICENSE)
|
||||
[](https://github.com/JustinSDK/lib-openscad/blob/master/LICENSE)
|
||||
|
||||
## Introduction
|
||||
|
||||
**dotSCAD 2.0 is based on OpenSCAD 2019.05.** For old versions, please use dotSCAD 1.3. You can download all versions from the [releases](https://github.com/JustinSDK/dotSCAD/releases).
|
||||
**Based on OpenSCAD 2019.05.** For old OpenSCAD versions, please use dotSCAD 1.3. You can download all versions from the [releases](https://github.com/JustinSDK/dotSCAD/releases).
|
||||
|
||||
OpenSCAD uses three library locations, the installation library, built-in library, and user defined libraries. It's convenient to set `OPENSCADPATH`. Check [Setting OPENSCADPATH](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Libraries#Setting_OPENSCADPATH) in [OpenSCAD User Manual/Libraries](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Libraries) for details.
|
||||
|
||||
Every module or function is located in the file which has the same name as the module or the function. For example, if you want to use the `line2d` module to draw a line, `include <line2d.scad>;` first.
|
||||
Every module or function is located in the file which has the same name as the module or the function. For example, if you want to use the `line2d` module to draw a line, `use <line2d.scad>;` first.
|
||||
|
||||
include <line2d.scad>;
|
||||
use <line2d.scad>;
|
||||
|
||||
line2d(p1 = [0, 0], p2 = [5, 0], width = 1);
|
||||
|
||||
Some module files are organized in a directory. For example, px_circle.scad exists in `pixel` directory. You have to prefix the directory name when including `px_circle`.
|
||||
|
||||
include <pixel/px_circle.scad>;
|
||||
use <pixel/px_circle.scad>;
|
||||
|
||||
points = px_circle(radius = 10);
|
||||
for(pt = points) {
|
||||
translate(pt) square(1);
|
||||
}
|
||||
|
||||
## Dependencies
|
||||
## Examples
|
||||
|
||||
Some modules depend on other modules. For example, the `polyline2d` module depends on the `line2d` module, so you also have to `include <line2d.scad>;` besides `include <polyline3d.scad>;`.
|
||||
See [examples](examples).
|
||||
|
||||
include <line2d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
|
||||
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1);
|
||||
|
||||
If OpenSCAD generates "WARNING: Ignoring unknown xxx function" or "WARNING: Ignoring unknown xxx module" when using one module of dotSCAD. Just try to `include <xxx.scad>;` or `include <dir/xxx.scad>` if xxx.scad exists in `dir` directory.
|
||||
|
||||
Too many dependencies? Because OpenSCAD doesn't provide namespace management, I personally think that exposing dependencies is better than hiding them. In this way, users can have their own way to manage dependencies. How to categorize dependencies is up to you. For example, you can include your commonly-used modules and functions in "commonly_used.scad" and then `include <commonly_used.scad>;` in the ".scad" file of your project.
|
||||
|
||||
**If you really don't want to care about dependencies, `include <dotSCAD.scad>;` or `use <dotSCAD.scad>;` come to save you.**
|
||||

|
||||
|
||||
## Documentation
|
||||
|
||||
- 2D
|
||||
- [arc](https://openhome.cc/eGossip/OpenSCAD/lib-arc.html)
|
||||
- [pie](https://openhome.cc/eGossip/OpenSCAD/lib-pie.html)
|
||||
- [rounded_square](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_square.html)
|
||||
- [line2d](https://openhome.cc/eGossip/OpenSCAD/lib-line2d.html)
|
||||
- [polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib-polyline2d.html)
|
||||
- [hull_polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib-hull_polyline2d.html)
|
||||
- [hexagons](https://openhome.cc/eGossip/OpenSCAD/lib-hexagons.html)
|
||||
- [polytransversals](https://openhome.cc/eGossip/OpenSCAD/lib-polytransversals.html)
|
||||
- [multi_line_text](https://openhome.cc/eGossip/OpenSCAD/lib-multi_line_text.html)
|
||||
- [voronoi2d](https://openhome.cc/eGossip/OpenSCAD/lib-voronoi2d.html)
|
||||
- [arc](https://openhome.cc/eGossip/OpenSCAD/lib2x-arc.html)
|
||||
- [pie](https://openhome.cc/eGossip/OpenSCAD/lib2x-pie.html)
|
||||
- [rounded_square](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_square.html)
|
||||
- [line2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-line2d.html)
|
||||
- [polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-polyline2d.html)
|
||||
- [hull_polyline2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-hull_polyline2d.html)
|
||||
- [hexagons](https://openhome.cc/eGossip/OpenSCAD/lib2x-hexagons.html)
|
||||
- [polytransversals](https://openhome.cc/eGossip/OpenSCAD/lib2x-polytransversals.html)
|
||||
- [multi_line_text](https://openhome.cc/eGossip/OpenSCAD/lib2x-multi_line_text.html)
|
||||
- [voronoi2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-voronoi2d.html)
|
||||
|
||||
- 3D
|
||||
- [rounded_cube](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_cube.html)
|
||||
- [rounded_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_cylinder.html)
|
||||
- [crystal_ball](https://openhome.cc/eGossip/OpenSCAD/lib-crystal_ball.html)
|
||||
- [line3d](https://openhome.cc/eGossip/OpenSCAD/lib-line3d.html)
|
||||
- [polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib-polyline3d.html)
|
||||
- [hull_polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib-hull_polyline3d.html)
|
||||
- [function_grapher](https://openhome.cc/eGossip/OpenSCAD/lib-function_grapher.html)
|
||||
- [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html)
|
||||
- [starburst](https://openhome.cc/eGossip/OpenSCAD/lib-starburst.html)
|
||||
- [voronoi3d](https://openhome.cc/eGossip/OpenSCAD/lib-voronoi3d.html)
|
||||
- [rounded_cube](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_cube.html)
|
||||
- [rounded_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_cylinder.html)
|
||||
- [crystal_ball](https://openhome.cc/eGossip/OpenSCAD/lib2x-crystal_ball.html)
|
||||
- [line3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-line3d.html)
|
||||
- [polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-polyline3d.html)
|
||||
- [hull_polyline3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-hull_polyline3d.html)
|
||||
- [function_grapher](https://openhome.cc/eGossip/OpenSCAD/lib2x-function_grapher.html)
|
||||
- [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html)
|
||||
- [starburst](https://openhome.cc/eGossip/OpenSCAD/lib2x-starburst.html)
|
||||
- [voronoi3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-voronoi3d.html)
|
||||
|
||||
- Transformation
|
||||
- [along_with](https://openhome.cc/eGossip/OpenSCAD/lib-along_with.html)
|
||||
- [hollow_out](https://openhome.cc/eGossip/OpenSCAD/lib-hollow_out.html)
|
||||
- [bend](https://openhome.cc/eGossip/OpenSCAD/lib-bend.html)
|
||||
- [shear](https://openhome.cc/eGossip/OpenSCAD/lib-shear.html)
|
||||
- [along_with](https://openhome.cc/eGossip/OpenSCAD/lib2x-along_with.html)
|
||||
- [hollow_out](https://openhome.cc/eGossip/OpenSCAD/lib2x-hollow_out.html)
|
||||
- [bend](https://openhome.cc/eGossip/OpenSCAD/lib2x-bend.html)
|
||||
- [shear](https://openhome.cc/eGossip/OpenSCAD/lib2x-shear.html)
|
||||
|
||||
- Functon
|
||||
- [rotate_p](https://openhome.cc/eGossip/OpenSCAD/lib-rotate_p.html)
|
||||
- [cross_sections](https://openhome.cc/eGossip/OpenSCAD/lib-cross_sections.html)
|
||||
- [paths2sections](https://openhome.cc/eGossip/OpenSCAD/lib-paths2sections.html)
|
||||
- [path_scaling_sections](https://openhome.cc/eGossip/OpenSCAD/lib2-path_scaling_sections.html)
|
||||
- [bijection_offset](https://openhome.cc/eGossip/OpenSCAD/lib-bijection_offset.html)
|
||||
- [in_polyline](https://openhome.cc/eGossip/OpenSCAD/lib-in_polyline.html)
|
||||
- [in_shape](https://openhome.cc/eGossip/OpenSCAD/lib-in_shape.html)
|
||||
- [midpt_smooth](https://openhome.cc/eGossip/OpenSCAD/lib-midpt_smooth.html)
|
||||
- [trim_shape](https://openhome.cc/eGossip/OpenSCAD/lib-trim_shape.html)
|
||||
- [triangulate](https://openhome.cc/eGossip/OpenSCAD/lib-triangulate.html)
|
||||
- [rotate_p](https://openhome.cc/eGossip/OpenSCAD/lib2x-rotate_p.html)
|
||||
- [cross_sections](https://openhome.cc/eGossip/OpenSCAD/lib2x-cross_sections.html)
|
||||
- [paths2sections](https://openhome.cc/eGossip/OpenSCAD/lib2x-paths2sections.html)
|
||||
- [path_scaling_sections](https://openhome.cc/eGossip/OpenSCAD/lib2x-path_scaling_sections.html)
|
||||
- [bijection_offset](https://openhome.cc/eGossip/OpenSCAD/lib2x-bijection_offset.html)
|
||||
- [in_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2x-in_polyline.html)
|
||||
- [in_shape](https://openhome.cc/eGossip/OpenSCAD/lib2x-in_shape.html)
|
||||
- [midpt_smooth](https://openhome.cc/eGossip/OpenSCAD/lib2x-midpt_smooth.html)
|
||||
- [trim_shape](https://openhome.cc/eGossip/OpenSCAD/lib2x-trim_shape.html)
|
||||
- [triangulate](https://openhome.cc/eGossip/OpenSCAD/lib2x-triangulate.html)
|
||||
|
||||
- Path
|
||||
- [arc_path](https://openhome.cc/eGossip/OpenSCAD/lib-arc_path.html)
|
||||
- [circle_path](https://openhome.cc/eGossip/OpenSCAD/lib-circle_path.html)
|
||||
- [bezier_curve](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_curve.html)
|
||||
- [bezier_surface](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_surface.html)
|
||||
- [bezier_smooth](https://openhome.cc/eGossip/OpenSCAD/lib-bezier_smooth.html)
|
||||
- [helix](https://openhome.cc/eGossip/OpenSCAD/lib-helix.html)
|
||||
- [golden_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-golden_spiral.html)
|
||||
- [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-archimedean_spiral.html)
|
||||
- [sphere_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-sphere_spiral.html)
|
||||
- [torus_knot](https://openhome.cc/eGossip/OpenSCAD/lib-torus_knot.html)
|
||||
- [arc_path](https://openhome.cc/eGossip/OpenSCAD/lib2x-arc_path.html)
|
||||
- [circle_path](https://openhome.cc/eGossip/OpenSCAD/lib2x-circle_path.html)
|
||||
- [bspline_curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-bspline_curve.html)
|
||||
- [bezier_curve](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_curve.html)
|
||||
- [bezier_surface](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_surface.html)
|
||||
- [bezier_smooth](https://openhome.cc/eGossip/OpenSCAD/lib2x-bezier_smooth.html)
|
||||
- [helix](https://openhome.cc/eGossip/OpenSCAD/lib2x-helix.html)
|
||||
- [golden_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-golden_spiral.html)
|
||||
- [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-archimedean_spiral.html)
|
||||
- [sphere_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-sphere_spiral.html)
|
||||
- [torus_knot](https://openhome.cc/eGossip/OpenSCAD/lib2x-torus_knot.html)
|
||||
|
||||
- Extrusion
|
||||
- [box_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-box_extrude.html)
|
||||
- [ellipse_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-ellipse_extrude.html)
|
||||
- [stereographic_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-stereographic_extrude.html)
|
||||
- [rounded_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-rounded_extrude.html)
|
||||
- [box_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-box_extrude.html)
|
||||
- [ellipse_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-ellipse_extrude.html)
|
||||
- [stereographic_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-stereographic_extrude.html)
|
||||
- [rounded_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-rounded_extrude.html)
|
||||
- [bend_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-bend_extrude.html)
|
||||
|
||||
- 2D Shape
|
||||
- [shape_taiwan](https://openhome.cc/eGossip/OpenSCAD/lib-shape_taiwan.html)
|
||||
- [shape_arc](https://openhome.cc/eGossip/OpenSCAD/lib-shape_arc.html)
|
||||
- [shape_pie](https://openhome.cc/eGossip/OpenSCAD/lib-shape_pie.html)
|
||||
- [shape_ellipse](https://openhome.cc/eGossip/OpenSCAD/lib-shape_ellipse.html)
|
||||
- [shape_square](https://openhome.cc/eGossip/OpenSCAD/lib-shape_square.html)
|
||||
- [shape_trapezium](https://openhome.cc/eGossip/OpenSCAD/lib-shape_trapezium.html)
|
||||
- [shape_cyclicpolygon](https://openhome.cc/eGossip/OpenSCAD/lib-shape_cyclicpolygon.html)
|
||||
- [shape_pentagram](https://openhome.cc/eGossip/OpenSCAD/lib-shape_pentagram.html)
|
||||
- [shape_starburst](https://openhome.cc/eGossip/OpenSCAD/lib-shape_starburst.html)
|
||||
- [shape_superformula](https://openhome.cc/eGossip/OpenSCAD/lib-shape_superformula.html)
|
||||
- [shape_glued2circles](https://openhome.cc/eGossip/OpenSCAD/lib-shape_glued2circles.html)
|
||||
- [shape_path_extend](https://openhome.cc/eGossip/OpenSCAD/lib-shape_path_extend.html)
|
||||
- [shape_taiwan](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_taiwan.html)
|
||||
- [shape_arc](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_arc.html)
|
||||
- [shape_pie](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_pie.html)
|
||||
- [shape_ellipse](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_ellipse.html)
|
||||
- [shape_square](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_square.html)
|
||||
- [shape_trapezium](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_trapezium.html)
|
||||
- [shape_cyclicpolygon](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_cyclicpolygon.html)
|
||||
- [shape_pentagram](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_pentagram.html)
|
||||
- [shape_starburst](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_starburst.html)
|
||||
- [shape_superformula](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_superformula.html)
|
||||
- [shape_glued2circles](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_glued2circles.html)
|
||||
- [shape_path_extend](https://openhome.cc/eGossip/OpenSCAD/lib2x-shape_path_extend.html)
|
||||
|
||||
- 2D Shape Extrusion
|
||||
- [bend_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-bend_extrude.html)
|
||||
- [path_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-path_extrude.html)
|
||||
- [ring_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-ring_extrude.html)
|
||||
- [helix_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-helix_extrude.html)
|
||||
- [golden_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-golden_spiral_extrude.html)
|
||||
- [archimedean_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-archimedean_spiral_extrude.html)
|
||||
- [sphere_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-sphere_spiral_extrude.html)
|
||||
- [path_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-path_extrude.html)
|
||||
- [ring_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-ring_extrude.html)
|
||||
- [helix_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-helix_extrude.html)
|
||||
- [golden_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-golden_spiral_extrude.html)
|
||||
- [archimedean_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-archimedean_spiral_extrude.html)
|
||||
- [sphere_spiral_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-sphere_spiral_extrude.html)
|
||||
|
||||
- Utilities
|
||||
- [util/sub_str](https://openhome.cc/eGossip/OpenSCAD/lib2-sub_str.html)
|
||||
- [util/split_str](https://openhome.cc/eGossip/OpenSCAD/lib2-split_str.html)
|
||||
- [util/parse_number](https://openhome.cc/eGossip/OpenSCAD/lib2-parse_number.html)
|
||||
- [util/reverse](https://openhome.cc/eGossip/OpenSCAD/lib2-reverse.html)
|
||||
- [util/slice](https://openhome.cc/eGossip/OpenSCAD/lib2-slice.html)
|
||||
- [util/sort](https://openhome.cc/eGossip/OpenSCAD/lib2-sort.html)
|
||||
- [util/sub_str](https://openhome.cc/eGossip/OpenSCAD/lib2x-sub_str.html)
|
||||
- [util/split_str](https://openhome.cc/eGossip/OpenSCAD/lib2x-split_str.html)
|
||||
- [util/parse_number](https://openhome.cc/eGossip/OpenSCAD/lib2x-parse_number.html)
|
||||
- [util/reverse](https://openhome.cc/eGossip/OpenSCAD/lib2x-reverse.html)
|
||||
- [util/slice](https://openhome.cc/eGossip/OpenSCAD/lib2x-slice.html)
|
||||
- [util/sort](https://openhome.cc/eGossip/OpenSCAD/lib2x-sort.html)
|
||||
- [util/rand](https://openhome.cc/eGossip/OpenSCAD/lib2x-rand.html)
|
||||
- [util/fibseq](https://openhome.cc/eGossip/OpenSCAD/lib2x-fibseq.html)
|
||||
|
||||
- Matrix
|
||||
- [matrix/m_cumulate](https://openhome.cc/eGossip/OpenSCAD/lib2-m_cumulate.html)
|
||||
- [matrix/m_translation](https://openhome.cc/eGossip/OpenSCAD/lib2-m_translation.html)
|
||||
- [matrix/m_rotation](https://openhome.cc/eGossip/OpenSCAD/lib2-m_rotation.html)
|
||||
- [matrix/m_scaling](https://openhome.cc/eGossip/OpenSCAD/lib2-m_scaling.html)
|
||||
- [matrix/m_mirror](https://openhome.cc/eGossip/OpenSCAD/lib2-m_mirror.html)
|
||||
- [matrix/m_shearing](https://openhome.cc/eGossip/OpenSCAD/lib2-m_shearing.html)
|
||||
- [matrix/m_cumulate](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_cumulate.html)
|
||||
- [matrix/m_translation](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_translation.html)
|
||||
- [matrix/m_rotation](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_rotation.html)
|
||||
- [matrix/m_scaling](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_scaling.html)
|
||||
- [matrix/m_mirror](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_mirror.html)
|
||||
- [matrix/m_shearing](https://openhome.cc/eGossip/OpenSCAD/lib2x-m_shearing.html)
|
||||
|
||||
- Turtle
|
||||
- [turtle/turtle2d](https://openhome.cc/eGossip/OpenSCAD/lib2-turtle2d.html)
|
||||
- [turtle/turtle3d](https://openhome.cc/eGossip/OpenSCAD/lib2-turtle3d.html)
|
||||
- [turtle/turtle2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-turtle2d.html)
|
||||
- [turtle/turtle3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-turtle3d.html)
|
||||
- [turtle/t2d](https://openhome.cc/eGossip/OpenSCAD/lib2x-t2d.html)
|
||||
- [turtle/t3d](https://openhome.cc/eGossip/OpenSCAD/lib2x-t3d.html)
|
||||
|
||||
- Pixel
|
||||
- [pixel/px_line](https://openhome.cc/eGossip/OpenSCAD/lib2-px_line.html)
|
||||
- [pixel/px_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2-px_polyline.html)
|
||||
- [pixel/px_circle](https://openhome.cc/eGossip/OpenSCAD/lib2-px_circle.html)
|
||||
- [pixel/px_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib2-px_cylinder.html)
|
||||
- [pixel/px_sphere](https://openhome.cc/eGossip/OpenSCAD/lib2-px_sphere.html)
|
||||
- [pixel/px_polygon](https://openhome.cc/eGossip/OpenSCAD/lib2-px_polygon.html)
|
||||
- [pixel/px_line](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_line.html)
|
||||
- [pixel/px_polyline](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_polyline.html)
|
||||
- [pixel/px_circle](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_circle.html)
|
||||
- [pixel/px_cylinder](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_cylinder.html)
|
||||
- [pixel/px_sphere](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_sphere.html)
|
||||
- [pixel/px_polygon](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_polygon.html)
|
||||
- [pixel/px_from](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_from.html)
|
||||
- [pixel/px_ascii](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_ascii.html)
|
||||
- [pixel/px_gray](https://openhome.cc/eGossip/OpenSCAD/lib2x-px_gray.html)
|
||||
|
||||
- Part
|
||||
- [part/connector_peg](https://openhome.cc/eGossip/OpenSCAD/lib2x-connector_peg.html)
|
||||
- [part/cone](https://openhome.cc/eGossip/OpenSCAD/lib2x-cone.html)
|
||||
- [part/joint_T](https://openhome.cc/eGossip/OpenSCAD/lib2-joint_T.html)
|
||||
|
||||
## Bugs and Feedback
|
||||
|
||||
|
33
RELEASE.md
@@ -1,5 +1,38 @@
|
||||
> Version numbers are based on [Semantic Versioning](https://semver.org/).
|
||||
|
||||
# v2.2.1
|
||||
Bugfixes:
|
||||
- `util/sort`: z not sorted.
|
||||
|
||||
Improvements:
|
||||
- Faster when the `style` of `function_grapher` is `"LINES"` or `"HULL_LINES"`.
|
||||
- Dedup pixels of `pixel/px_polyline`, `pixel/px_circle`, `pixel/px_cylinder`, `pixel/px_sphere`, `pixel/px_polygon`.
|
||||
|
||||
# v2.2
|
||||
- Bugfixes
|
||||
- `util/sort`: fix "search term not found" warning when `by` is `"idx"`.
|
||||
- Better dependency management. Just `use` modules you want. Existing scripts are not required to do any change.
|
||||
|
||||
# v2.1
|
||||
- Bugfixes
|
||||
- `bend_extrude`: fix wrong rotation.
|
||||
- `bijection_offset`: fix point order.
|
||||
- New parameters.
|
||||
- `box_extrude`: new `twist` parameter.
|
||||
- `crystall_ball`: new `thickness` parameter.
|
||||
- New modules and functions.
|
||||
- [bspline_curve](https://openhome.cc/eGossip/OpenSCAD/lib2-bspline_curve.html)
|
||||
- [util/rand](https://openhome.cc/eGossip/OpenSCAD/lib2-rand.html)
|
||||
- [util/fibseq](https://openhome.cc/eGossip/OpenSCAD/lib2-fibseq.html)
|
||||
- [pixel/px_from](https://openhome.cc/eGossip/OpenSCAD/lib2-px_from.html)
|
||||
- [pixel/px_ascii](https://openhome.cc/eGossip/OpenSCAD/lib2-px_ascii.html)
|
||||
- [pixel/px_gray](https://openhome.cc/eGossip/OpenSCAD/lib2-px_gray.html)
|
||||
- [part/connector_peg](https://openhome.cc/eGossip/OpenSCAD/lib2-connector_peg.html)
|
||||
- [part/cone](https://openhome.cc/eGossip/OpenSCAD/lib2-cone.html)
|
||||
- [part/joint_T](https://openhome.cc/eGossip/OpenSCAD/lib2-joint_T.html)
|
||||
- [turtle/t2d](https://openhome.cc/eGossip/OpenSCAD/lib2-t2d.html)
|
||||
- [turtle/t3d](https://openhome.cc/eGossip/OpenSCAD/lib2-t3d.html)
|
||||
|
||||
# v2.0
|
||||
- Use new features of OpenSCAD-2019.05 to refactor internal implementation.
|
||||
- Delete the `log` module which is never used.
|
||||
|
114
all/dotSCAD.scad
@@ -1,114 +0,0 @@
|
||||
include <along_with.scad>;
|
||||
include <arc.scad>;
|
||||
include <arc_path.scad>;
|
||||
include <archimedean_spiral.scad>;
|
||||
include <archimedean_spiral_extrude.scad>;
|
||||
include <bend.scad>;
|
||||
include <bend_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
include <bezier_smooth.scad>;
|
||||
include <bezier_surface.scad>;
|
||||
include <bijection_offset.scad>;
|
||||
include <box_extrude.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <crystal_ball.scad>;
|
||||
include <ellipse_extrude.scad>;
|
||||
include <function_grapher.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
include <golden_spiral_extrude.scad>;
|
||||
include <helix.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
include <hexagons.scad>;
|
||||
include <hollow_out.scad>;
|
||||
include <hull_polyline2d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <in_polyline.scad>;
|
||||
include <in_shape.scad>;
|
||||
include <line2d.scad>;
|
||||
include <line3d.scad>;
|
||||
<<<<<<< HEAD
|
||||
include <log.scad>;
|
||||
include <m_cumulate.scad>;
|
||||
include <m_mirror.scad>;
|
||||
include <m_rotation.scad>;
|
||||
include <m_scaling.scad>;
|
||||
include <m_shearing.scad>;
|
||||
include <m_translation.scad>;
|
||||
include <midpt_smooth.scad>;
|
||||
include <multi_line_text.scad>;
|
||||
include <parse_number.scad>;
|
||||
=======
|
||||
include <midpt_smooth.scad>;
|
||||
include <multi_line_text.scad>;
|
||||
>>>>>>> v2
|
||||
include <path_extrude.scad>;
|
||||
include <path_scaling_sections.scad>;
|
||||
include <paths2sections.scad>;
|
||||
include <pie.scad>;
|
||||
include <polyline2d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <polysections.scad>;
|
||||
include <polytransversals.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <rounded_cube.scad>;
|
||||
include <rounded_cylinder.scad>;
|
||||
include <rounded_extrude.scad>;
|
||||
include <rounded_square.scad>;
|
||||
include <shape_arc.scad>;
|
||||
include <shape_cyclicpolygon.scad>;
|
||||
include <shape_ellipse.scad>;
|
||||
include <shape_glued2circles.scad>;
|
||||
include <shape_path_extend.scad>;
|
||||
include <shape_pentagram.scad>;
|
||||
include <shape_pie.scad>;
|
||||
include <shape_square.scad>;
|
||||
include <shape_starburst.scad>;
|
||||
include <shape_superformula.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <shape_trapezium.scad>;
|
||||
include <shear.scad>;
|
||||
include <sphere_spiral.scad>;
|
||||
include <sphere_spiral_extrude.scad>;
|
||||
<<<<<<< HEAD
|
||||
include <split_str.scad>;
|
||||
include <starburst.scad>;
|
||||
include <stereographic_extrude.scad>;
|
||||
include <sub_str.scad>;
|
||||
include <torus_knot.scad>;
|
||||
include <triangulate.scad>;
|
||||
include <trim_shape.scad>;
|
||||
include <turtle2d.scad>;
|
||||
include <turtle3d.scad>;
|
||||
include <voronoi2d.scad>;
|
||||
include <voronoi3d.scad>;
|
||||
=======
|
||||
include <starburst.scad>;
|
||||
include <stereographic_extrude.scad>;
|
||||
include <torus_knot.scad>;
|
||||
include <triangulate.scad>;
|
||||
include <trim_shape.scad>;
|
||||
include <voronoi2d.scad>;
|
||||
include <voronoi3d.scad>;
|
||||
include <util/parse_number.scad>;
|
||||
include <util/split_str.scad>;
|
||||
include <util/sub_str.scad>;
|
||||
include <util/reverse.scad>;
|
||||
include <util/slice.scad>;
|
||||
include <util/sort.scad>;
|
||||
include <matrix/m_cumulate.scad>;
|
||||
include <matrix/m_mirror.scad>;
|
||||
include <matrix/m_rotation.scad>;
|
||||
include <matrix/m_scaling.scad>;
|
||||
include <matrix/m_shearing.scad>;
|
||||
include <matrix/m_translation.scad>;
|
||||
include <turtle/turtle2d.scad>;
|
||||
include <turtle/turtle3d.scad>;
|
||||
include <pixel/px_line.scad>;
|
||||
include <pixel/px_polyline.scad>;
|
||||
include <pixel/px_circle.scad>;
|
||||
include <pixel/px_cylinder.scad>;
|
||||
include <pixel/px_sphere.scad>;
|
||||
include <pixel/px_polygon.scad>;
|
||||
>>>>>>> v2
|
BIN
docs/images/caterpillar.JPG
Normal file
After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
BIN
docs/images/lib2-bspline_curve-1.JPG
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/images/lib2-bspline_curve-2.JPG
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/images/lib2-bspline_curve-3.JPG
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/images/lib2-cone-1.JPG
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
docs/images/lib2-cone-2.JPG
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
docs/images/lib2-cone-3.JPG
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
docs/images/lib2-connector_peg-1.JPG
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
docs/images/lib2-connector_peg-2.JPG
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/images/lib2-connector_peg-3.JPG
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
docs/images/lib2-joint_T-1.JPG
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
docs/images/lib2-joint_T-2.JPG
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
docs/images/lib2-px_ascii-1.JPG
Normal file
After Width: | Height: | Size: 155 KiB |
BIN
docs/images/lib2-px_ascii-2.JPG
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
docs/images/lib2-px_from-1.JPG
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
docs/images/lib2-px_from-2.JPG
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
docs/images/lib2-px_from-3.JPG
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
docs/images/lib2-px_gray-1.JPG
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
docs/images/lib2-px_gray-2.JPG
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
docs/images/lib2-t2d-1.JPG
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
docs/images/lib2-t2d-2.JPG
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
docs/images/lib2-t3d-1.JPG
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/images/lib2-t3d-2.JPG
Normal file
After Width: | Height: | Size: 73 KiB |
@@ -1,23 +0,0 @@
|
||||
# m_mirror
|
||||
|
||||
Generate a 4x4 transformation matrix which can pass into `multmatrix` to mirror the child element on a plane through the origin.
|
||||
|
||||
**Since:** 1.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `v` : The normal vector of a plane intersecting the origin through which to mirror the object.
|
||||
|
||||
## Examples
|
||||
|
||||
include <m_mirror.scad>;
|
||||
|
||||
rotate([0, 0, 10])
|
||||
cube([3, 2, 1]);
|
||||
|
||||
multmatrix(m_mirror([1, 1, 0]))
|
||||
rotate([0, 0, 10])
|
||||
cube([3, 2, 1]);
|
||||
|
||||

|
||||
|
@@ -12,8 +12,8 @@ Puts children along the given path. If there's only one child, it will put the c
|
||||
|
||||
## Examples
|
||||
|
||||
include <along_with.scad>;
|
||||
include <circle_path.scad>;
|
||||
use <along_with.scad>;
|
||||
use <circle_path.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
||||
@@ -24,8 +24,8 @@ Puts children along the given path. If there's only one child, it will put the c
|
||||
|
||||

|
||||
|
||||
include <along_with.scad>;
|
||||
include <circle_path.scad>;
|
||||
use <along_with.scad>;
|
||||
use <circle_path.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
||||
@@ -44,10 +44,8 @@ Puts children along the given path. If there's only one child, it will put the c
|
||||
|
||||

|
||||
|
||||
include <along_with.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
use <along_with.scad>;
|
||||
use <golden_spiral.scad>;
|
||||
|
||||
pts_angles = golden_spiral(
|
||||
from = 5,
|
||||
@@ -65,8 +63,8 @@ Puts children along the given path. If there's only one child, it will put the c
|
||||
|
||||

|
||||
|
||||
include <bezier_curve.scad>;
|
||||
include <along_with.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
use <along_with.scad>;
|
||||
|
||||
module scales() {
|
||||
module one_scale() {
|
@@ -13,7 +13,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
|
||||
|
||||
## Examples
|
||||
|
||||
include <arc.scad>;
|
||||
use <arc.scad>;
|
||||
|
||||
$fn = 24;
|
||||
arc(radius = 20, angle = [45, 290], width = 2);
|
||||
@@ -21,7 +21,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
|
||||
|
||||

|
||||
|
||||
include <arc.scad>;
|
||||
use <arc.scad>;
|
||||
|
||||
$fn = 24;
|
||||
arc(radius = 20, angle = [45, 290], width = 2, width_mode = "LINE_OUTWARD");
|
||||
@@ -29,7 +29,7 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
|
||||
|
||||

|
||||
|
||||
include <arc.scad>;
|
||||
use <arc.scad>;
|
||||
|
||||
$fn = 24;
|
||||
arc(radius = 20, angle = [45, 290], width = 2, width_mode = "LINE_INWARD");
|
@@ -11,8 +11,8 @@ Creates an arc path. You can pass a 2 element vector to define the central angle
|
||||
|
||||
## Examples
|
||||
|
||||
include <arc_path.scad>;
|
||||
include <hull_polyline2d.scad>;
|
||||
use <arc_path.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
points = arc_path(radius = 20, angle = [45, 290]);
|
||||
@@ -20,8 +20,8 @@ Creates an arc path. You can pass a 2 element vector to define the central angle
|
||||
|
||||

|
||||
|
||||
include <arc_path.scad>;
|
||||
include <hull_polyline2d.scad>;
|
||||
use <arc_path.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
points = arc_path(radius = 20, angle = 135);
|
@@ -16,9 +16,8 @@ An `init_angle` less than 180 degrees is not recommended because the function us
|
||||
|
||||
## Examples
|
||||
|
||||
include <line2d.scad>;
|
||||
include <polyline2d.scad>;
|
||||
include <archimedean_spiral.scad>;
|
||||
use <polyline2d.scad>;
|
||||
use <archimedean_spiral.scad>;
|
||||
|
||||
points_angles = archimedean_spiral(
|
||||
arm_distance = 10,
|
||||
@@ -31,10 +30,9 @@ An `init_angle` less than 180 degrees is not recommended because the function us
|
||||
|
||||
polyline2d(points, width = 1);
|
||||
|
||||
|
||||

|
||||
|
||||
include <archimedean_spiral.scad>;
|
||||
use <archimedean_spiral.scad>;
|
||||
|
||||
points_angles = archimedean_spiral(
|
||||
arm_distance = 10,
|
@@ -2,23 +2,19 @@
|
||||
|
||||
Extrudes a 2D shape along the path of an archimedean spiral.
|
||||
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `shape_pts` : A list of points represent a shape. See the example below.
|
||||
- `arm_distance`, `init_angle`, `point_distance`, `num_of_points` and `rt_dir` : See [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib-archimedean_spiral.html) for details.
|
||||
- `arm_distance`, `init_angle`, `point_distance`, `num_of_points` and `rt_dir` : See [archimedean_spiral](https://openhome.cc/eGossip/OpenSCAD/lib2x-archimedean_spiral.html) for details.
|
||||
- `twist` : The number of degrees of through which the shape is extruded.
|
||||
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <archimedean_spiral.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <archimedean_spiral_extrude.scad>;
|
||||
use <archimedean_spiral_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[5, 0],
|
@@ -12,7 +12,7 @@ Bends a 3D object into an arc shape.
|
||||
|
||||
The containing cube of the target object should be laid down on the x-y plane. For example.
|
||||
|
||||
include <bend.scad>;
|
||||
use <bend.scad>;
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
||||
@@ -25,7 +25,7 @@ The containing cube of the target object should be laid down on the x-y plane. F
|
||||
|
||||
Once you have the size of the containing cube, you can use it as the `size` argument of the `bend` module.
|
||||
|
||||
include <bend.scad>;
|
||||
use <bend.scad>;
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
||||
@@ -40,7 +40,7 @@ Once you have the size of the containing cube, you can use it as the `size` argu
|
||||
|
||||
The arc shape is smoother if the `frags` value is larger.
|
||||
|
||||
include <bend.scad>;
|
||||
use <bend.scad>;
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
@@ -25,7 +25,7 @@ The containing square of the target shape should be laid down on the x-y plane.
|
||||
|
||||
Once you have the size of the containing square, you can use it as the `size` argument of the `bend_extrude` module.
|
||||
|
||||
include <bend_extrude.scad>;
|
||||
use <bend_extrude.scad>;
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
@@ -5,14 +5,14 @@ Given a set of control points, the `bezier_curve` function returns points of the
|
||||
## Parameters
|
||||
|
||||
- `t_step` : The distance between two points of the Bézier path.
|
||||
- `points` : A set of `[x, y, z]` control points.
|
||||
- `points` : A list of `[x, y]` or `[x, y, z]` control points.
|
||||
|
||||
## Examples
|
||||
|
||||
If you have four control points and combine with the `hull_polyline3d` module:
|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
width = 2;
|
@@ -11,9 +11,8 @@ Given a path, the `bezier_smooth` function uses bazier curves to smooth all corn
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
include <bezier_smooth.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <bezier_smooth.scad>;
|
||||
|
||||
width = 2;
|
||||
round_d = 15;
|
||||
@@ -37,8 +36,7 @@ Given a path, the `bezier_smooth` function uses bazier curves to smooth all corn
|
||||
|
||||

|
||||
|
||||
include <bezier_curve.scad>;
|
||||
include <bezier_smooth.scad>;
|
||||
use <bezier_smooth.scad>;
|
||||
|
||||
round_d = 10;
|
||||
|
@@ -11,9 +11,8 @@ Given a set of control points, the `bezier_surface` function returns points of t
|
||||
|
||||
If you have 16 control points and combine with the `function_grapher` module:
|
||||
|
||||
include <bezier_curve.scad>;
|
||||
include <bezier_surface.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <bezier_surface.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
thickness = 0.5;
|
@@ -12,7 +12,7 @@ Move 2D outlines outward or inward by a given amount. Each point of the offsette
|
||||
|
||||
## Examples
|
||||
|
||||
include <bijection_offset.scad>;
|
||||
use <bijection_offset.scad>;
|
||||
|
||||
shape = [
|
||||
[15, 0],
|
||||
@@ -32,11 +32,9 @@ Move 2D outlines outward or inward by a given amount. Each point of the offsette
|
||||
|
||||

|
||||
|
||||
include <bijection_offset.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <bijection_offset.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
shape = [
|
||||
[5, 0],
|
@@ -8,17 +8,18 @@ Creates a box (container) from a 2D object.
|
||||
- `shell_thickness` : The thickness between the exterior and interior.
|
||||
- `offset_mode` : `"delta"` (default) or `"r"`. See [offset](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#offset) for details.
|
||||
- `chamfer` : Default `false`. See [offset](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Transformations#offset) for details.
|
||||
- `twist`, `slices`, `scale`: The same as `linear_extrude`. **Since:** 2.1.
|
||||
|
||||
## Examples
|
||||
|
||||
include <box_extrude.scad>;
|
||||
use <box_extrude.scad>;
|
||||
|
||||
box_extrude(height = 30, shell_thickness = 2)
|
||||
circle(r = 30);
|
||||
|
||||

|
||||
|
||||
include <box_extrude.scad>;
|
||||
use <box_extrude.scad>;
|
||||
|
||||
box_extrude(height = 30, shell_thickness = 2)
|
||||
text("XD", size = 40, font = "Cooper Black");
|
86
docs/lib2x-bspline_curve.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# bspline_curve
|
||||
|
||||
[B-spline](https://en.wikipedia.org/wiki/B-spline) interpolation using [de Boor's algorithm](https://en.wikipedia.org/wiki/De_Boor%27s_algorithm). This function returns points of the B-spline path. Combined with the `polyline`, `polyline3d` or `hull_polyline3d` module, you can create a B-spline curve.
|
||||
|
||||
**Since:** 2.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `t_step` : The increment amount along the curve in the [0, 1] range.
|
||||
- `degree` : The degree of B-spline. Must be less than or equal to `len(points) - 1`.
|
||||
- `points` : A list of `[x, y]` or `[x, y, z]` control points.
|
||||
- `knots` : The knot vector. It's a non-decreasing sequence with length `len(points) + degree + 1`. If not provided, a uniform knot vector is generated automatically.
|
||||
- `weights` : The weights of control points. If not provided, the weight of each point is 1.
|
||||
|
||||
## Examples
|
||||
|
||||
use <bspline_curve.scad>;
|
||||
|
||||
points = [
|
||||
[-10, 0],
|
||||
[-5, 5],
|
||||
[ 5, -5],
|
||||
[ 10, 0]
|
||||
];
|
||||
|
||||
color("red") for(p = points) {
|
||||
translate(p)
|
||||
sphere(0.5);
|
||||
}
|
||||
|
||||
// knots: [0, 1, 2, 3, 4, 5, 6]
|
||||
// weights: [1, 1, 1, 1]
|
||||
for(p = bspline_curve(0.01, 2, points)) {
|
||||
translate(p)
|
||||
sphere(0.1);
|
||||
}
|
||||
|
||||

|
||||
|
||||
use <bspline_curve.scad>;
|
||||
|
||||
points = [
|
||||
[-10, 0],
|
||||
[-5, 5],
|
||||
[ 5, -5],
|
||||
[ 10, 0]
|
||||
];
|
||||
|
||||
// a non-uniform B-spline curve
|
||||
knots = [0, 1/8, 1/4, 1/2, 3/4, 4/5, 1];
|
||||
|
||||
color("red") for(p = points) {
|
||||
translate(p)
|
||||
sphere(0.5);
|
||||
}
|
||||
|
||||
for(p = bspline_curve(0.01, 2, points, knots)) {
|
||||
translate(p)
|
||||
sphere(0.1);
|
||||
}
|
||||
|
||||

|
||||
|
||||
use <bspline_curve.scad>;
|
||||
|
||||
points = [
|
||||
[-10, 0],
|
||||
[-5, 5],
|
||||
[ 5, -5],
|
||||
[ 10, 0]
|
||||
];
|
||||
|
||||
// For a clamped B-spline curve, the first `degree + 1` and the last `degree + 1` knots must be identical.
|
||||
knots = [0, 0, 0, 1, 2, 2, 2];
|
||||
|
||||
color("red") for(p = points) {
|
||||
translate(p)
|
||||
sphere(0.5);
|
||||
}
|
||||
|
||||
for(p = bspline_curve(0.01, 2, points, knots)) {
|
||||
translate(p)
|
||||
sphere(0.1);
|
||||
}
|
||||
|
||||

|
@@ -10,7 +10,7 @@ Sometimes you need all points on the path of a circle. Here's the function. Its
|
||||
|
||||
## Examples
|
||||
|
||||
include <circle_path.scad>;
|
||||
use <circle_path.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
67
docs/lib2x-cone.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# cone
|
||||
|
||||
Create a cone for rotatable models.
|
||||
|
||||

|
||||
|
||||
**Since:** 2.1
|
||||
|
||||
|
||||
## Parameters
|
||||
|
||||
- `radius` : The radius of the cone.
|
||||
- `length` : The length of the cone.
|
||||
- `spacing` : The spacing between the cone and void component. Default to `0.5`.
|
||||
- `angle` : The angle between the bottom and hypotenuse. Default to `50` degree.
|
||||
- `void` : The void component for differencing. It's used to create a cavity for a cone. Default to `false`.
|
||||
- `ends` : Default to `false`. To create a double-ended cone, set it to `true`.
|
||||
|
||||
## Examples
|
||||
|
||||
use <part/cone.scad>;
|
||||
|
||||
radius = 2.5;
|
||||
length = 2;
|
||||
spacing = 0.5;
|
||||
|
||||
$fn = 48;
|
||||
|
||||
cone(
|
||||
radius = radius,
|
||||
spacing = spacing,
|
||||
length = 2
|
||||
);
|
||||
|
||||
%cone(
|
||||
radius = radius,
|
||||
spacing = spacing,
|
||||
length = 2,
|
||||
void = true
|
||||
);
|
||||
|
||||

|
||||
|
||||
use <part/cone.scad>;
|
||||
|
||||
radius = 2.5;
|
||||
length = 2;
|
||||
spacing = 0.5;
|
||||
|
||||
$fn = 48;
|
||||
|
||||
cone(
|
||||
radius = radius,
|
||||
spacing = spacing,
|
||||
length = 2,
|
||||
ends = true
|
||||
);
|
||||
|
||||
%cone(
|
||||
radius = radius,
|
||||
spacing = spacing,
|
||||
length = 2,
|
||||
void = true,
|
||||
ends = true
|
||||
);
|
||||
|
||||

|
60
docs/lib2x-connector_peg.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# connector_peg
|
||||
|
||||
Create a connector peg.
|
||||
|
||||

|
||||
|
||||
**Since:** 2.1
|
||||
|
||||
|
||||
## Parameters
|
||||
|
||||
- `radius` : The shaft radius of the peg.
|
||||
- `height` : The height of the pag. Default to `2.5 * radius`.
|
||||
- `spacing` : The spacing between the peg and void component. Default to `0.5`.
|
||||
- `void` : The void component for differencing. It's used to create a cavity for a peg. Default to `false`.
|
||||
- `ends` : Default to `false`. To create a double-ended peg, set it to `true`.
|
||||
|
||||
## Examples
|
||||
|
||||
use <part/connector_peg.scad>;
|
||||
|
||||
radius = 2.5;
|
||||
spacing = 0.5;
|
||||
|
||||
$fn = 48;
|
||||
|
||||
connector_peg(
|
||||
radius = radius,
|
||||
spacing = spacing
|
||||
);
|
||||
|
||||
%connector_peg(
|
||||
radius = radius,
|
||||
spacing = spacing,
|
||||
void = true
|
||||
);
|
||||
|
||||

|
||||
|
||||
use <part/connector_peg.scad>;
|
||||
|
||||
radius = 2.5;
|
||||
spacing = 0.5;
|
||||
|
||||
$fn = 48;
|
||||
|
||||
connector_peg(
|
||||
radius = radius,
|
||||
spacing = spacing,
|
||||
ends = true
|
||||
);
|
||||
|
||||
%connector_peg(
|
||||
radius = radius,
|
||||
spacing = spacing,
|
||||
ends = true,
|
||||
void = true
|
||||
);
|
||||
|
||||

|
@@ -12,10 +12,9 @@ Given a 2D shape, points and angles along the path, this function will return al
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <archimedean_spiral.scad>;
|
||||
use <polysections.scad>;
|
||||
use <cross_sections.scad>;
|
||||
use <archimedean_spiral.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[-2, -10],
|
@@ -9,39 +9,37 @@ Uses spherical coordinate system to create a crystal ball.
|
||||
- `radius` : The radial distance r.
|
||||
- `theta` : The azimuthal angle. It defaults to 360. It also accepts a 2 element vector. The first element of the vector is the beginning angle in degrees, and the second element is the ending angle.
|
||||
- `phi` : The polar angle. It defaults to 180. It also accepts a 2 element vector. The first element of the vector is the beginning angle in degrees, and the second element is the ending angle.
|
||||
- `thickness` : The thickness of the ball. **Since:** 2.1.
|
||||
- `$fa`, `$fs`, `$fn` : Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) or [the sphere module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#sphere) for more details. The final fragments will be a multiple of 4 to fit edges.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
include <shape_pie.scad>;
|
||||
include <crystal_ball.scad>;
|
||||
|
||||
use <crystal_ball.scad>;
|
||||
|
||||
crystal_ball(radius = 6);
|
||||
|
||||
|
||||
translate([12, 0, 0])
|
||||
crystal_ball(
|
||||
radius = 6,
|
||||
theta = 270,
|
||||
$fn = 12
|
||||
);
|
||||
|
||||
crystal_ball(
|
||||
radius = 6,
|
||||
theta = 270,
|
||||
thickness = 1,
|
||||
$fn = 12
|
||||
);
|
||||
|
||||
translate([24, 0, 0])
|
||||
crystal_ball(
|
||||
radius = 6,
|
||||
theta = 270,
|
||||
phi = 90,
|
||||
$fn = 12
|
||||
);
|
||||
|
||||
crystal_ball(
|
||||
radius = 6,
|
||||
theta = 270,
|
||||
phi = 90,
|
||||
$fn = 12
|
||||
);
|
||||
|
||||
translate([36, 0, 0])
|
||||
crystal_ball(
|
||||
radius = 6,
|
||||
theta = [-30, 270],
|
||||
phi = [30, 60]
|
||||
);
|
||||
crystal_ball(
|
||||
radius = 6,
|
||||
theta = [-30, 270],
|
||||
phi = [30, 60],
|
||||
thickness = 2
|
||||
);
|
||||
|
||||

|
@@ -10,7 +10,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
|
||||
|
||||
## Examples
|
||||
|
||||
include <ellipse_extrude.scad>;
|
||||
use <ellipse_extrude.scad>;
|
||||
|
||||
semi_minor_axis = 5;
|
||||
|
||||
@@ -19,7 +19,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
|
||||
|
||||

|
||||
|
||||
include <ellipse_extrude.scad>;
|
||||
use <ellipse_extrude.scad>;
|
||||
|
||||
semi_minor_axis = 5;
|
||||
|
||||
@@ -28,7 +28,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
|
||||
|
||||

|
||||
|
||||
include <ellipse_extrude.scad>;
|
||||
use <ellipse_extrude.scad>;
|
||||
|
||||
semi_minor_axis = 5;
|
||||
|
||||
@@ -39,7 +39,7 @@ Extrudes a 2D object along the path of an ellipse from 0 to 180 degrees. The sem
|
||||
|
||||

|
||||
|
||||
include <ellipse_extrude.scad>;
|
||||
use <ellipse_extrude.scad>;
|
||||
|
||||
semi_minor_axis = 10;
|
||||
|
16
docs/lib2x-fibseq.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# fibseq
|
||||
|
||||
Generate a Fibonacci sequence.
|
||||
|
||||
**Since:**: 2.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `from` : The nth Fibonacci number you wanna start from.
|
||||
- `to` : The nth Fibonacci number you wanna go to.
|
||||
|
||||
## Examples
|
||||
|
||||
use <util/fibseq.scad>;
|
||||
|
||||
echo(fibseq(1, 10)); // ECHO: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
|
@@ -12,10 +12,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
|
||||
|
||||
## Examples
|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
points = [
|
||||
[[0, 0, 1], [1, 0, 2], [2, 0, 2], [3, 0, 3]],
|
||||
@@ -30,10 +27,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
function f(x, y) =
|
||||
30 * (
|
||||
@@ -58,10 +52,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
function f(x, y) =
|
||||
30 * (
|
||||
@@ -87,10 +78,7 @@ Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics functio
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
function f(x, y) =
|
||||
30 * (
|
@@ -13,9 +13,7 @@ It returns a vector of `[[x, y], angle]`.
|
||||
|
||||
## Examples
|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
use <golden_spiral.scad>;
|
||||
|
||||
pts_angles = golden_spiral(
|
||||
from = 3,
|
||||
@@ -30,9 +28,7 @@ It returns a vector of `[[x, y], angle]`.
|
||||
|
||||

|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
use <golden_spiral.scad>;
|
||||
|
||||
pts_angles = golden_spiral(
|
||||
from = 5,
|
@@ -2,7 +2,7 @@
|
||||
|
||||
Extrudes a 2D shape along the path of a golden spiral.
|
||||
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -13,16 +13,11 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
- `rt_dir` : `"CT_CLK"` for counterclockwise. `"CLK"` for clockwise. The default value is `"CT_CLK"`.
|
||||
- `twist` : The number of degrees of through which the shape is extruded.
|
||||
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <golden_spiral_extrude.scad>;
|
||||
use <golden_spiral_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[2, -10],
|
||||
@@ -43,12 +38,8 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||

|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <golden_spiral_extrude.scad>;
|
||||
use <circle_path.scad>;
|
||||
use <golden_spiral_extrude.scad>;
|
||||
|
||||
$fn = 12;
|
||||
|
@@ -13,8 +13,8 @@ Gets all points on the path of a spiral around a cylinder. Its `$fa`, `$fs` and
|
||||
|
||||
## Examples
|
||||
|
||||
include <helix.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
use <helix.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
$fn = 12;
|
||||
|
||||
@@ -34,8 +34,8 @@ Gets all points on the path of a spiral around a cylinder. Its `$fa`, `$fs` and
|
||||
|
||||

|
||||
|
||||
include <helix.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
use <helix.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
$fn = 12;
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
Extrudes a 2D shape along a helix path.
|
||||
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
|
||||
|
||||
@@ -16,16 +16,12 @@ Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
|
||||
- `rt_dir` : `"CT_CLK"` for counterclockwise. `"CLK"` for clockwise. The default value is `"CT_CLK"`.
|
||||
- `twist` : The number of degrees of through which the shape is extruded.
|
||||
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
- `$fa`, `$fs`, `$fn` : Check [the cylinder module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#cylinder) for more details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[5, -2],
|
||||
@@ -47,11 +43,7 @@ Its `$fa`, `$fs` and `$fn` parameters are consistent with the `cylinder` module.
|
||||
|
||||

|
||||
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
r1 = 40;
|
||||
r2 = 20;
|
@@ -10,7 +10,7 @@ A hexagonal structure is useful in many situations. This module creates hexagons
|
||||
|
||||
## Examples
|
||||
|
||||
include <hexagons.scad>;
|
||||
use <hexagons.scad>;
|
||||
|
||||
radius = 20;
|
||||
spacing = 2;
|
||||
@@ -20,7 +20,7 @@ A hexagonal structure is useful in many situations. This module creates hexagons
|
||||
|
||||

|
||||
|
||||
include <hexagons.scad>;
|
||||
use <hexagons.scad>;
|
||||
|
||||
radius = 20;
|
||||
spacing = 2;
|
@@ -8,7 +8,7 @@ Hollows out a 2D object.
|
||||
|
||||
## Examples
|
||||
|
||||
include <hollow_out.scad>;
|
||||
use <hollow_out.scad>;
|
||||
|
||||
hollow_out(shell_thickness = 1) circle(r = 3, $fn = 48);
|
||||
hollow_out(shell_thickness = 1) square([10, 5]);
|
@@ -10,7 +10,7 @@ Creates a 2D polyline from a list of `[x, y]` coordinates. As the name says, it
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline2d.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
|
||||
$fn = 4;
|
||||
|
@@ -10,7 +10,7 @@ Creates a 3D polyline from a list of `[x, y, z]` coordinates. As the name says,
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
hull_polyline3d(
|
||||
points = [
|
||||
@@ -25,7 +25,7 @@ Creates a 3D polyline from a list of `[x, y, z]` coordinates. As the name says,
|
||||
|
||||

|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
|
||||
r = 50;
|
||||
points = [
|
@@ -12,7 +12,7 @@ Checks wether a point is on a line.
|
||||
|
||||
## Examples
|
||||
|
||||
include <in_polyline.scad>;
|
||||
use <in_polyline.scad>;
|
||||
|
||||
pts = [
|
||||
[0, 0],
|
||||
@@ -27,7 +27,7 @@ Checks wether a point is on a line.
|
||||
|
||||
----
|
||||
|
||||
include <in_polyline.scad>;
|
||||
use <in_polyline.scad>;
|
||||
|
||||
pts = [
|
||||
[10, 0, 10],
|
@@ -13,8 +13,8 @@ Checks wether a point is inside a shape.
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_taiwan.scad>;
|
||||
include <in_shape.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <in_shape.scad>;
|
||||
|
||||
points = shape_taiwan(30);
|
||||
|
32
docs/lib2x-joint_T.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# joint_T
|
||||
|
||||
Create a joint_T for rotatable models.
|
||||
|
||||

|
||||
|
||||
**Since:** 2.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `shaft_r` : The shaft radius of the joint_T.
|
||||
- `shaft_h` : The height of the shaft.
|
||||
- `t_leng` : The length of the T part.
|
||||
- `thickness` : The thicnkess of the ring.
|
||||
- `spacing` : The spacing between the shaft and the ring. Default to `0.5`.
|
||||
- `center` : `false` (default) for z ranges from 0 to `shaft_h`. `true` for z ranges from `-shaft_h / 2` to `shaft_h / 2`.
|
||||
|
||||
## Examples
|
||||
|
||||
use <part/joint_T.scad>;
|
||||
|
||||
$fn = 48;
|
||||
|
||||
joint_T(
|
||||
shaft_r = 2,
|
||||
shaft_h = 15,
|
||||
t_leng = 15,
|
||||
thickness = 2,
|
||||
spacing = 0.5
|
||||
);
|
||||
|
||||

|
@@ -13,7 +13,7 @@ Creates a line from two points. When the end points are `CAP_ROUND`, you can use
|
||||
|
||||
## Examples
|
||||
|
||||
include <line2d.scad>;
|
||||
use <line2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
@@ -13,7 +13,7 @@ Creates a 3D line from two points.
|
||||
|
||||
## Examples
|
||||
|
||||
include <line3d.scad>;
|
||||
use <line3d.scad>;
|
||||
|
||||
line3d(
|
||||
p1 = [0, 0, 0],
|
||||
@@ -24,7 +24,7 @@ Creates a 3D line from two points.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
use <line3d.scad>;
|
||||
|
||||
line3d(
|
||||
p1 = [0, 0, 0],
|
||||
@@ -37,7 +37,7 @@ Creates a 3D line from two points.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
use <line3d.scad>;
|
||||
|
||||
line3d(
|
||||
p1 = [0, 0, 0],
|
@@ -12,10 +12,10 @@ The dir changed since 2.0.
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_rotation.scad>;
|
||||
include <matrix/m_scaling.scad>;
|
||||
include <matrix/m_translation.scad>;
|
||||
include <matrix/m_cumulate.scad>
|
||||
use <matrix/m_rotation.scad>;
|
||||
use <matrix/m_scaling.scad>;
|
||||
use <matrix/m_translation.scad>;
|
||||
use <matrix/m_cumulate.scad>
|
||||
|
||||
m = m_cumulate([
|
||||
m_translation([10, 20, 10]), m_scaling(2), m_rotation(60)]
|
@@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to mirror
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_mirror.scad>;
|
||||
use <matrix/m_mirror.scad>;
|
||||
|
||||
rotate([0, 0, 10])
|
||||
cube([3, 2, 1]);
|
@@ -13,7 +13,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to rotate
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_rotation.scad>;
|
||||
use <matrix/m_rotation.scad>;
|
||||
|
||||
point = [20, 0, 0];
|
||||
a = [0, -45, 45];
|
||||
@@ -27,7 +27,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to rotate
|
||||
|
||||

|
||||
|
||||
include <m_rotation.scad>;
|
||||
use <matrix/m_rotation.scad>;
|
||||
|
||||
v = [10, 10, 10];
|
||||
|
@@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to scale i
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_scaling.scad>;
|
||||
use <matrix/m_scaling.scad>;
|
||||
|
||||
cube(10);
|
||||
translate([15, 0, 0])
|
@@ -14,7 +14,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to shear a
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_shearing.scad>;
|
||||
use <matrix/m_shearing.scad>;
|
||||
|
||||
color("red") {
|
||||
multmatrix(m_shearing(sx = [1, 0]))
|
@@ -12,7 +12,7 @@ Generate a 4x4 transformation matrix which can pass into `multmatrix` to transla
|
||||
|
||||
## Examples
|
||||
|
||||
include <matrix/m_translation.scad>;
|
||||
use <matrix/m_translation.scad>;
|
||||
|
||||
cube(2, center = true);
|
||||
multmatrix(m_translation([5, 0, 0]))
|
@@ -12,10 +12,9 @@ Given a 2D path, this function constructs a mid-point smoothed version by joinin
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline2d.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <bijection_offset.scad>;
|
||||
include <midpt_smooth.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <midpt_smooth.scad>;
|
||||
|
||||
taiwan = shape_taiwan(50);
|
||||
smoothed = midpt_smooth(taiwan, 20, true);
|
@@ -9,7 +9,7 @@ Creates multi-line text from a list of strings. Parameters are the same as the b
|
||||
|
||||
## Examples
|
||||
|
||||
include <multi_line_text.scad>;
|
||||
use <multi_line_text.scad>;
|
||||
|
||||
multi_line_text(
|
||||
["Welcome", "to", "Taiwan"],
|
@@ -10,9 +10,7 @@ Parses the string argument as an number.
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/sub_str.scad>;
|
||||
include <util/split_str.scad>;
|
||||
include <util/parse_number.scad>;
|
||||
use <util/parse_number.scad>;
|
||||
|
||||
echo(parse_number("10") + 1); // ECHO: 11
|
||||
echo(parse_number("-1.1") + 1); // ECHO: -0.1
|
@@ -2,7 +2,7 @@
|
||||
|
||||
It extrudes a 2D shape along a path. This module is suitable for a path created by a continuous function.
|
||||
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
When using this module, you should use points to represent the 2D shape. If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -16,10 +16,8 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
width = 2;
|
||||
@@ -45,10 +43,8 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
|
||||
@@ -79,10 +75,8 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
|
||||
@@ -128,11 +122,7 @@ When using this module, you should use points to represent the 2D shape. If your
|
||||
|
||||
If you want to extrude a shape along a path precisely, providing enough information about how to rotate sections is necessary. If you want to extrude a shape along a helix, `helix_extrude` is more suitable because it knows how to dig out necessary data for rotating sections precisely.
|
||||
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[0,0],
|
||||
@@ -151,11 +141,8 @@ If you want to extrude a shape along a path precisely, providing enough informat
|
||||
|
||||
If you have only points, what `path_extrude` can do is to **guess** data about rotations. The different algorithm will dig out different data. For example:
|
||||
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix.scad>;
|
||||
include <path_extrude.scad>;
|
||||
use <helix.scad>;
|
||||
use <path_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[0,0],
|
||||
@@ -178,10 +165,8 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha
|
||||
|
||||
The `method` parameter is default to `"AXIS_ANGLE"`, a way to guess information from points. It accepts `"EULER_ANGLE"`, too.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix.scad>;
|
||||
include <path_extrude.scad>;
|
||||
use <helix.scad>;
|
||||
use <path_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[0,0],
|
||||
@@ -204,9 +189,7 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha
|
||||
|
||||
`"EULER_ANGLE"` will generate an abrupt when the path is exactly vertical. [The problem happened in (older) Blender, too.](https://download.blender.org/documentation/htmlI/ch09s04.html)
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
use <path_extrude.scad>;
|
||||
|
||||
shape_pts = [[5, -5], [5, 5], [-5, 5], [-5, -5]];
|
||||
|
||||
@@ -230,9 +213,7 @@ You might think this is wrong. Actually, it's not. It's the correct/default beha
|
||||
|
||||
The problem doesn't happen when `method` is `"AXIS_ANGLE"`.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
use <path_extrude.scad>;
|
||||
|
||||
shape_pts = [[5, -5], [5, 5], [-5, 5], [-5, -5]];
|
||||
|
||||
@@ -260,11 +241,9 @@ So, which is the correct method? Both methods are correct when you provide only
|
||||
|
||||
`"EULER_ANGLE"`, however, generates the same section at the same point. This means that you don't have to adjust sections if you want to extrude along a closed path. It's an advantage when extruding. For example:
|
||||
|
||||
include <shape_pentagram.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <torus_knot.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <torus_knot.scad>;
|
||||
|
||||
p = 2;
|
||||
q = 3;
|
@@ -15,10 +15,10 @@ You can use any point as the first point of the edge path. Just remember that yo
|
||||
|
||||
## Examples
|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <path_scaling_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <path_scaling_sections.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
taiwan = shape_taiwan(100);
|
||||
fst_pt = [13, 0, 0];
|
||||
@@ -38,11 +38,11 @@ You can use any point as the first point of the edge path. Just remember that yo
|
||||
|
||||

|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <path_scaling_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <path_scaling_sections.scad>;
|
||||
use <polysections.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
|
||||
taiwan = shape_taiwan(100);
|
||||
@@ -63,11 +63,11 @@ You can use any point as the first point of the edge path. Just remember that yo
|
||||
|
||||

|
||||
|
||||
include <shape_taiwan.scad>;
|
||||
include <path_scaling_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
include <rotate_p.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <path_scaling_sections.scad>;
|
||||
use <polysections.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
taiwan = shape_taiwan(100);
|
||||
fst_pt = [13, 0, 0];
|
||||
@@ -99,11 +99,11 @@ You can use any point as the first point of the edge path. Just remember that yo
|
||||
|
||||

|
||||
|
||||
include <hull_polyline3d.scad>;
|
||||
include <shape_taiwan.scad>;
|
||||
include <path_scaling_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <rotate_p.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <shape_taiwan.scad>;
|
||||
use <path_scaling_sections.scad>;
|
||||
use <polysections.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
taiwan = shape_taiwan(100);
|
||||
|
@@ -10,9 +10,9 @@ You paths should be indexed count-clockwisely.
|
||||
|
||||
## Examples
|
||||
|
||||
include <paths2sections.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <polysections.scad>;
|
||||
use <paths2sections.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
paths = [
|
||||
[[5, 0, 5], [15, 10, 10], [25, 20, 5]],
|
||||
@@ -31,10 +31,10 @@ You paths should be indexed count-clockwisely.
|
||||
|
||||

|
||||
|
||||
include <bezier_curve.scad>;
|
||||
include <paths2sections.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <polysections.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
use <paths2sections.scad>;
|
||||
use <hull_polyline3d.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
|
@@ -10,7 +10,7 @@ Creates a pie (circular sector). You can pass a 2 element vector to define the c
|
||||
|
||||
## Examples
|
||||
|
||||
include <pie.scad>;
|
||||
use <pie.scad>;
|
||||
|
||||
pie(radius = 20, angle = [210, 310]);
|
||||
translate([-15, 0, 0]) pie(radius = 20, angle = [45, 135]);
|
@@ -12,16 +12,14 @@ Creates a polyline from a list of `x`, `y` coordinates. When the end points are
|
||||
|
||||
## Examples
|
||||
|
||||
include <line2d.scad>;
|
||||
include <polyline2d.scad>;
|
||||
use <polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1);
|
||||
|
||||

|
||||
|
||||
include <line2d.scad>;
|
||||
include <polyline2d.scad>;
|
||||
use <polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1,
|
||||
@@ -29,8 +27,7 @@ Creates a polyline from a list of `x`, `y` coordinates. When the end points are
|
||||
|
||||

|
||||
|
||||
include <line2d.scad>;
|
||||
include <polyline2d.scad>;
|
||||
use <polyline2d.scad>;
|
||||
|
||||
$fn = 24;
|
||||
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1,
|
@@ -6,14 +6,13 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
|
||||
|
||||
- `points` : The list of `[x, y, z]` points of the polyline. The points are indexed from 0 to n-1.
|
||||
- `thickness` : The line thickness.
|
||||
- `startingStyle` : The end-cap style of the starting point. The value must be `"CAP_BUTT"`, `"CAP_CIRCLE"` or `"CAP_SPHERE"`. The default value is `"CAP_CIRCL"`.
|
||||
- `startingStyle` : The end-cap style of the starting point. The value must be `"CAP_BUTT"`, `"CAP_CIRCLE"` or `"CAP_SPHERE"`. The default value is `"CAP_CIRCLE"`.
|
||||
- `endingStyle` : The end-cap style of the ending point. The value must be `"CAP_BUTT"`, `"CAP_CIRCLE"` or `"CAP_SPHERE"`. The default value is `"CAP_CIRCLE"`.
|
||||
- `$fa`, `$fs`, `$fn` : Used by the `circle` or `sphere` module internally. Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) or [the sphere module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Primitive_Solids#sphere) for more details. The final fragments of a circle will be a multiple of 4 to fit edges if possible.
|
||||
|
||||
## Examples
|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
use <polyline3d.scad>;
|
||||
|
||||
polyline3d(
|
||||
points = [
|
||||
@@ -28,8 +27,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
use <polyline3d.scad>;
|
||||
|
||||
polyline3d(
|
||||
points = [
|
||||
@@ -45,8 +43,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
use <polyline3d.scad>;
|
||||
|
||||
polyline3d(
|
||||
points = [
|
||||
@@ -63,8 +60,7 @@ Creates a polyline from a list of `[x, y, z]` coordinates.
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
use <polyline3d.scad>;
|
||||
|
||||
r = 20;
|
||||
h = 5;
|
@@ -44,8 +44,8 @@ When defining triangles, you can use clockwise or counter-clockwise indexes.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
use <rotate_p.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
section1 = [
|
||||
[20, 0, 0],
|
||||
@@ -68,8 +68,8 @@ When defining triangles, you can use clockwise or counter-clockwise indexes.
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
use <rotate_p.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
section1 = [
|
||||
// outer
|
||||
@@ -98,8 +98,8 @@ When defining triangles, you can use clockwise or counter-clockwise indexes.
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
use <rotate_p.scad>;
|
||||
use <polysections.scad>;
|
||||
|
||||
section1 = [
|
||||
// outer
|
@@ -18,9 +18,9 @@ You can view it as a better polyline2d module. If you have only the points of a
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polytransversals.scad>;
|
||||
include <hull_polyline2d.scad>;
|
||||
use <rotate_p.scad>;
|
||||
use <polytransversals.scad>;
|
||||
use <hull_polyline2d.scad>;
|
||||
|
||||
r = 35;
|
||||
tran_pts = [[-5, 0], [0, 5], [5, 0]];
|
40
docs/lib2x-px_ascii.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# px_ascii
|
||||
|
||||
Generate 8x8 pixel points of printable ASCII characters (codes 32dec to 126dec). You can use these points to build pixel-style models.
|
||||
|
||||
**Since:** 2.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `char` : A printable ASCII character.
|
||||
- `center`: . If `true`, object is centered in X- and Y-axis. Otherwise, the object is placed in the positive quadrant. Defaults to `false`.
|
||||
- `invert`: Inverts points of the character. Default to `false`.
|
||||
|
||||
## Examples
|
||||
|
||||
use <pixel/px_ascii.scad>;
|
||||
|
||||
for(i = [0:94]) {
|
||||
translate([8 * (i % 10), -8 * floor(i / 10), 0])
|
||||
for(p = px_ascii(chr(i + 32))) {
|
||||
translate(p)
|
||||
linear_extrude(1, scale = 0.8)
|
||||
square(1);
|
||||
}
|
||||
}
|
||||
|
||||

|
||||
|
||||
use <pixel/px_ascii.scad>;
|
||||
|
||||
t = "dotSCAD";
|
||||
|
||||
for(i = [0:len(t) - 1]) {
|
||||
translate([i * 8, 0])
|
||||
for(pt = px_ascii(t[i], invert = true)) {
|
||||
translate(pt)
|
||||
sphere(0.5, $fn = 24);
|
||||
}
|
||||
}
|
||||
|
||||

|
@@ -11,7 +11,7 @@ Returns points that can be used to draw a pixel-style circle.
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_circle.scad>;
|
||||
use <pixel/px_circle.scad>;
|
||||
|
||||
for(pt = px_circle(10)) {
|
||||
translate(pt)
|
||||
@@ -20,7 +20,7 @@ Returns points that can be used to draw a pixel-style circle.
|
||||
|
||||

|
||||
|
||||
include <pixel/px_circle.scad>;
|
||||
use <pixel/px_circle.scad>;
|
||||
|
||||
for(pt = px_circle(10, filled = true)) {
|
||||
translate(pt)
|
@@ -13,7 +13,7 @@ Returns points that can be used to draw a pixel-style cylinder.
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_cylinder.scad>;
|
||||
use <pixel/px_cylinder.scad>;
|
||||
|
||||
for(pt = px_cylinder([10, 15], 10)) {
|
||||
translate(pt)
|
||||
@@ -22,7 +22,7 @@ Returns points that can be used to draw a pixel-style cylinder.
|
||||
|
||||

|
||||
|
||||
include <pixel/px_cylinder.scad>;
|
||||
use <pixel/px_cylinder.scad>;
|
||||
|
||||
for(pt = px_cylinder([20, 15], h = 10, thickness = 3)) {
|
||||
translate(pt)
|
108
docs/lib2x-px_from.md
Normal file
@@ -0,0 +1,108 @@
|
||||
# px_from
|
||||
|
||||
Given a list of 0s and 1s that represent a black-and-white image. This function translates them into pixel points. You can use these points to build pixel-style models.
|
||||
|
||||
**Since:** 2.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `binaries` : A list of 0s and 1s.
|
||||
- `center`: . If `true`, object is centered in X- and Y-axis. Otherwise, the object is placed in the positive quadrant. Defaults to `false`.
|
||||
- `invert`: Inverts how binaries are translated into points. Default to `false`. 1s are translated into points. Otherwise, 0s are translated into points.
|
||||
|
||||
## Examples
|
||||
|
||||
use <pixel/px_from.scad>;
|
||||
|
||||
pts = px_from([
|
||||
[0,0,0,0,0,0,0,0],
|
||||
[0,0,0,1,1,0,0,0],
|
||||
[0,0,1,1,1,1,0,0],
|
||||
[0,1,1,0,0,1,1,0],
|
||||
[0,1,1,0,0,1,1,0],
|
||||
[0,1,1,1,1,1,1,0],
|
||||
[0,1,1,0,0,1,1,0],
|
||||
[0,0,0,0,0,0,0,0]
|
||||
]);
|
||||
|
||||
for(pt = pts) {
|
||||
translate(pt) square(1);
|
||||
}
|
||||
|
||||
translate([8, 0]) for(pt = pts) {
|
||||
translate(pt) text("A", font="Arial Black", 1);
|
||||
}
|
||||
|
||||

|
||||
|
||||
I provide a tool [img2binary](https://github.com/JustinSDK/img2binary) for converting an image into 0 and 1. A black and white picture is suggested. 0 is for black and 1 is for white. Given an image like this:
|
||||
|
||||

|
||||
|
||||
The tool converts it into binaries. Combined with the `pixel_from`, you can build a model like this:
|
||||
|
||||
use <pixel/px_from.scad>;
|
||||
|
||||
pts = px_from([
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1],
|
||||
[1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1],
|
||||
[1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1],
|
||||
[1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1],
|
||||
[1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1],
|
||||
[1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1],
|
||||
[1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1],
|
||||
[1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1],
|
||||
[1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1],
|
||||
[1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
|
||||
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
|
||||
], invert = true);
|
||||
|
||||
for(pt = pts) {
|
||||
translate(pt) sphere(.5, $fn = 24);
|
||||
}
|
||||
|
||||

|
187
docs/lib2x-px_gray.md
Normal file
@@ -0,0 +1,187 @@
|
||||
# px_gray
|
||||
|
||||
Given a list of numbers (0 ~ 255) that represent a gray image. This function translates them into a list of `[x, y, level]`s.
|
||||
|
||||
**Since:** 2.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `levels` : A list of numbers (0 ~ 255).
|
||||
- `center`: . If `true`, object is centered in X- and Y-axis. Otherwise, the object is placed in the positive quadrant. Defaults to `false`.
|
||||
- `invert`: Inverts the `level` value of the returned `[x, y, value]`. Default to `false`.
|
||||
- `normalize`: Normalize the `level` value of the returned `[x, y, value]`. Default to `false`. If it's `true`, the `level` value ranges from 0 to 1.
|
||||
|
||||
## Examples
|
||||
|
||||
use <pixel/px_gray.scad>;
|
||||
|
||||
levels = [
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
|
||||
[255, 255, 0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255],
|
||||
[255, 255, 0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255],
|
||||
[255, 255, 0, 0, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255],
|
||||
[255, 255, 0, 0, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255],
|
||||
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0],
|
||||
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0],
|
||||
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0],
|
||||
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 85, 85, 0, 0],
|
||||
[0, 0, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 85, 85, 0, 0],
|
||||
[0, 0, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
|
||||
[0, 0, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
|
||||
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
|
||||
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
|
||||
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0],
|
||||
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 85, 85, 0, 0],
|
||||
[0, 0, 170, 170, 170, 170, 170, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 170, 170, 170, 170, 170, 85, 85, 0, 0],
|
||||
[0, 0, 170, 170, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 0, 0],
|
||||
[0, 0, 170, 170, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 0, 0],
|
||||
[0, 0, 170, 170, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 85, 85, 85, 85, 85, 85, 0, 0],
|
||||
[255, 255, 0, 0, 0, 0, 0, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 255, 255],
|
||||
[255, 255, 0, 0, 0, 0, 0, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 0, 0, 0, 0, 0, 255, 255],
|
||||
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 0, 0, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 0, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 0, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 0, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 0, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255]
|
||||
];
|
||||
|
||||
dots = px_gray(levels, center = true);
|
||||
for(dot = dots) {
|
||||
g = 1 - dot[1] / 255;
|
||||
h = dot[1] / 85;
|
||||
color([g, g, g])
|
||||
translate(dot[0])
|
||||
linear_extrude(h)
|
||||
square(1);
|
||||
}
|
||||
|
||||

|
||||
|
||||
I provide a tool [img2gray](https://github.com/JustinSDK/img2gray) for converting an image into data required by this function. Given an image like this:
|
||||
|
||||

|
||||
|
||||
After converting the image, use the data in the text file as the `levels` value of `pixel_gray`, you can build a model like this:
|
||||
|
||||
use <pixel/px_gray.scad>;
|
||||
|
||||
levels = [
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 219, 255, 255, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 62, 173, 255, 255, 222, 154, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 147, 16, 73, 166, 190, 8, 17, 99, 97, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 151, 11, 26, 153, 111, 61, 58, 40, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 137, 73, 74, 154, 131, 24, 18, 95, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 153, 162, 152, 97, 82, 120, 155, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 146, 146, 131, 118, 96, 75, 46, 46, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 139, 130, 117, 99, 78, 53, 38, 64, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 108, 102, 95, 74, 60, 38, 47, 89, 85, 153, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 101, 77, 67, 52, 38, 48, 82, 109, 73, 48, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 70, 40, 42, 57, 84, 107, 92, 62, 38, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 100, 89, 102, 115, 91, 72, 44, 47, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 112, 114, 102, 86, 68, 51, 41, 66, 101, 94, 140, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 156, 93, 80, 65, 51, 36, 59, 97, 100, 69, 49, 110, 93, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 70, 54, 47, 45, 69, 96, 110, 91, 58, 40, 92, 76, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 225, 222, 141, 104, 111, 140, 144, 109, 77, 41, 49, 87, 64, 42, 197, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 227, 223, 224, 228, 227, 220, 166, 129, 116, 46, 74, 89, 42, 40, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 224, 224, 224, 227, 223, 169, 130, 129, 129, 88, 100, 58, 37, 62, 176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 222, 226, 226, 226, 226, 216, 134, 130, 127, 130, 118, 76, 42, 54, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 226, 223, 228, 225, 228, 221, 182, 131, 131, 129, 128, 112, 41, 56, 95, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 212, 209, 212, 220, 225, 225, 153, 129, 125, 127, 130, 120, 86, 118, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 176, 193, 191, 198, 201, 209, 134, 129, 128, 128, 127, 128, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154, 149, 152, 166, 168, 174, 181, 130, 128, 131, 131, 123, 128, 125, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 142, 116, 123, 128, 138, 140, 145, 136, 128, 124, 131, 128, 130, 131, 133, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 184, 224, 178, 158, 145, 108, 124, 131, 125, 130, 131, 129, 127, 130, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 221, 226, 224, 222, 102, 100, 128, 131, 125, 127, 128, 128, 127, 129, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 224, 227, 224, 194, 125, 117, 122, 128, 128, 124, 130, 128, 126, 129, 132, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 225, 228, 224, 169, 128, 129, 95, 92, 127, 132, 124, 130, 130, 123, 127, 129, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 227, 226, 227, 222, 136, 128, 122, 88, 83, 106, 128, 127, 133, 123, 132, 130, 128, 129, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 223, 219, 219, 216, 205, 199, 196, 188, 179, 192, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 225, 226, 225, 207, 131, 129, 124, 80, 80, 82, 103, 131, 126, 126, 131, 128, 129, 128, 130, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 224, 224, 224, 224, 223, 219, 215, 205, 201, 194, 183, 176, 158, 162, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 224, 224, 228, 174, 128, 126, 207, 178, 89, 84, 84, 115, 129, 126, 125, 127, 127, 127, 127, 134, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 222, 227, 225, 222, 227, 227, 225, 223, 224, 223, 220, 215, 208, 196, 192, 179, 171, 168, 146, 138, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 225, 225, 229, 144, 132, 132, 255, 255, 164, 77, 82, 83, 114, 129, 128, 129, 131, 129, 126, 124, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 222, 226, 225, 222, 224, 223, 225, 223, 222, 223, 224, 226, 221, 214, 209, 204, 192, 188, 179, 160, 160, 144, 134, 137, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 225, 226, 227, 211, 131, 130, 149, 255, 255, 255, 140, 79, 85, 82, 127, 126, 126, 129, 129, 128, 127, 124, 154, 255, 255, 255, 255, 255, 255, 255, 255, 228, 225, 221, 219, 219, 218, 220, 222, 222, 223, 223, 220, 223, 223, 219, 217, 203, 195, 191, 183, 174, 160, 150, 135, 128, 113, 186, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 225, 224, 226, 187, 132, 131, 186, 255, 255, 255, 255, 122, 80, 85, 89, 124, 131, 127, 128, 130, 127, 129, 131, 156, 255, 255, 255, 255, 255, 225, 221, 218, 213, 207, 195, 188, 190, 197, 194, 195, 211, 219, 220, 223, 223, 218, 210, 208, 201, 189, 182, 174, 162, 153, 147, 129, 114, 97, 175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 225, 227, 225, 160, 131, 127, 255, 255, 255, 255, 255, 255, 118, 81, 77, 91, 122, 129, 134, 124, 130, 130, 129, 127, 192, 255, 255, 255, 229, 219, 205, 181, 181, 173, 178, 179, 176, 176, 174, 169, 162, 172, 192, 214, 218, 218, 217, 204, 201, 191, 181, 175, 165, 159, 145, 131, 118, 106, 87, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 255, 228, 223, 222, 137, 124, 143, 255, 255, 255, 255, 255, 255, 223, 93, 81, 79, 101, 125, 127, 129, 129, 125, 134, 130, 122, 208, 255, 218, 201, 178, 177, 180, 172, 186, 173, 180, 177, 183, 178, 181, 183, 177, 175, 143, 168, 219, 200, 205, 197, 189, 187, 176, 164, 152, 150, 134, 125, 106, 93, 73, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 223, 228, 220, 196, 131, 129, 172, 255, 255, 255, 255, 255, 255, 255, 221, 91, 80, 84, 97, 129, 127, 126, 127, 126, 128, 131, 130, 217, 184, 180, 152, 123, 125, 185, 174, 181, 179, 180, 175, 181, 173, 183, 175, 177, 178, 153, 142, 181, 209, 197, 190, 181, 174, 166, 158, 144, 134, 120, 110, 90, 86, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 226, 229, 224, 168, 126, 131, 217, 255, 255, 255, 255, 255, 255, 255, 255, 221, 81, 81, 82, 105, 128, 127, 130, 126, 131, 129, 175, 184, 173, 99, 92, 133, 136, 100, 160, 179, 179, 177, 183, 177, 182, 177, 177, 180, 179, 179, 165, 145, 137, 189, 194, 181, 167, 166, 156, 142, 134, 127, 108, 95, 76, 62, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 255, 220, 228, 225, 137, 133, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 83, 80, 84, 108, 131, 129, 128, 128, 134, 180, 172, 180, 158, 170, 175, 175, 154, 87, 176, 177, 179, 177, 173, 177, 136, 132, 180, 175, 168, 171, 164, 132, 121, 180, 181, 168, 161, 153, 147, 132, 116, 110, 95, 85, 60, 57, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 223, 227, 220, 206, 132, 128, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 87, 79, 80, 114, 126, 133, 131, 173, 181, 182, 174, 172, 186, 170, 185, 180, 72, 180, 177, 181, 177, 110, 99, 123, 138, 106, 104, 159, 163, 158, 159, 122, 124, 175, 165, 158, 148, 142, 129, 120, 107, 90, 78, 66, 51, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 225, 224, 226, 182, 129, 131, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 83, 83, 84, 122, 124, 153, 176, 178, 180, 174, 184, 164, 174, 180, 174, 111, 180, 176, 170, 99, 154, 174, 181, 184, 169, 173, 98, 155, 161, 150, 151, 116, 112, 158, 156, 145, 133, 125, 119, 102, 89, 81, 58, 55, 85, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 229, 223, 225, 150, 127, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 117, 80, 82, 89, 121, 180, 179, 180, 176, 158, 72, 69, 61, 83, 184, 175, 173, 181, 175, 148, 178, 177, 174, 175, 177, 169, 156, 119, 159, 151, 145, 141, 95, 100, 151, 142, 133, 122, 114, 97, 87, 74, 58, 53, 72, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 227, 225, 226, 218, 133, 129, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 153, 112, 83, 78, 124, 175, 182, 179, 173, 78, 89, 176, 163, 51, 128, 178, 179, 178, 177, 175, 180, 176, 176, 175, 170, 165, 162, 157, 151, 147, 139, 140, 122, 70, 134, 136, 132, 118, 107, 94, 83, 71, 54, 54, 79, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 224, 223, 224, 193, 131, 133, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 115, 127, 131, 129, 151, 178, 179, 172, 167, 118, 175, 169, 100, 58, 78, 179, 177, 177, 162, 96, 59, 69, 61, 99, 163, 161, 157, 155, 147, 144, 138, 130, 128, 100, 83, 127, 123, 114, 102, 90, 78, 66, 54, 56, 79, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 227, 223, 225, 160, 126, 130, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 85, 67, 87, 87, 175, 177, 183, 180, 179, 186, 175, 77, 27, 28, 81, 176, 183, 176, 80, 81, 178, 164, 160, 48, 75, 159, 158, 149, 144, 138, 133, 128, 124, 117, 77, 90, 117, 106, 96, 86, 73, 59, 51, 68, 80, 113, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 225, 227, 223, 222, 139, 128, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 140, 114, 169, 178, 182, 180, 173, 178, 180, 66, 34, 37, 131, 172, 178, 151, 62, 169, 168, 149, 66, 47, 31, 149, 145, 143, 139, 134, 127, 128, 115, 111, 101, 53, 114, 100, 91, 79, 68, 54, 53, 66, 89, 114, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 223, 224, 205, 132, 130, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 178, 176, 177, 180, 176, 181, 154, 83, 111, 177, 174, 183, 172, 165, 173, 174, 83, 23, 15, 30, 135, 148, 140, 134, 131, 124, 120, 112, 105, 98, 52, 94, 96, 84, 72, 60, 53, 61, 77, 95, 118, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 225, 225, 227, 175, 128, 129, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 168, 31, 145, 173, 183, 178, 179, 174, 181, 177, 177, 176, 181, 178, 175, 173, 167, 161, 166, 100, 33, 25, 55, 142, 143, 134, 133, 123, 120, 115, 107, 104, 93, 65, 59, 88, 77, 66, 54, 53, 67, 80, 107, 131, 212, 255, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 227, 221, 147, 126, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 77, 4, 11, 45, 166, 167, 177, 179, 177, 176, 179, 180, 173, 172, 167, 174, 167, 166, 171, 156, 158, 106, 88, 141, 137, 131, 128, 127, 118, 113, 111, 101, 98, 93, 73, 52, 78, 68, 59, 53, 60, 74, 90, 111, 131, 202, 82, 4, 12, 36, 99, 148, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 226, 225, 222, 208, 134, 129, 150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 29, 7, 2, 4, 17, 173, 175, 165, 168, 174, 172, 173, 170, 172, 170, 173, 162, 162, 160, 153, 156, 147, 148, 144, 133, 138, 130, 126, 115, 118, 109, 102, 97, 91, 81, 77, 76, 74, 60, 50, 56, 69, 84, 100, 116, 151, 38, 3, 1, 1, 1, 2, 2, 3, 18, 45, 113, 163, 222, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 219, 226, 226, 188, 129, 132, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 104, 9, 2, 1, 2, 2, 9, 149, 188, 187, 167, 168, 165, 167, 166, 164, 162, 162, 161, 157, 153, 150, 147, 143, 141, 136, 131, 126, 124, 116, 114, 108, 101, 96, 91, 84, 79, 73, 85, 66, 53, 51, 65, 76, 93, 109, 130, 157, 18, 4, 1, 3, 1, 2, 1, 5, 1, 3, 9, 0, 9, 38, 227, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 225, 228, 223, 155, 131, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 39, 1, 1, 5, 3, 3, 7, 3, 92, 174, 188, 196, 192, 171, 157, 159, 159, 158, 155, 153, 150, 148, 144, 139, 135, 132, 130, 125, 120, 118, 110, 107, 101, 95, 90, 84, 77, 70, 64, 78, 57, 53, 61, 72, 85, 108, 124, 140, 135, 11, 7, 0, 0, 0, 1, 3, 1, 3, 1, 1, 6, 1, 7, 107, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 222, 229, 226, 218, 134, 128, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 132, 7, 2, 5, 3, 1, 2, 1, 3, 11, 40, 160, 178, 175, 188, 189, 190, 184, 172, 159, 150, 145, 143, 142, 140, 135, 129, 126, 123, 118, 113, 109, 104, 100, 94, 89, 84, 78, 70, 64, 59, 72, 57, 60, 70, 85, 99, 112, 128, 158, 90, 2, 8, 0, 0, 1, 2, 1, 1, 1, 0, 0, 31, 48, 0, 51, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 225, 226, 223, 199, 132, 125, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 53, 0, 4, 2, 3, 3, 3, 1, 7, 1, 5, 8, 122, 159, 170, 175, 174, 176, 176, 175, 175, 174, 169, 159, 150, 141, 136, 130, 125, 120, 114, 107, 103, 99, 94, 87, 82, 78, 71, 62, 57, 53, 56, 60, 76, 81, 91, 108, 127, 151, 177, 25, 9, 4, 0, 5, 1, 2, 1, 0, 5, 7, 42, 104, 145, 47, 12, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 227, 224, 227, 167, 131, 130, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 6, 5, 4, 1, 1, 2, 0, 1, 1, 0, 4, 7, 6, 59, 139, 154, 160, 168, 168, 167, 165, 165, 166, 164, 158, 153, 150, 148, 143, 137, 131, 124, 117, 112, 105, 100, 93, 87, 80, 70, 61, 56, 53, 56, 69, 80, 92, 111, 124, 144, 160, 116, 11, 3, 0, 0, 0, 1, 1, 5, 3, 4, 103, 98, 177, 146, 79, 5, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 222, 228, 225, 225, 141, 129, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 72, 5, 2, 5, 1, 2, 4, 2, 1, 1, 1, 4, 2, 4, 4, 21, 139, 138, 149, 148, 152, 154, 156, 155, 152, 150, 147, 144, 141, 139, 136, 131, 125, 119, 112, 107, 98, 93, 86, 79, 69, 59, 52, 50, 55, 70, 86, 92, 106, 122, 133, 155, 164, 30, 8, 3, 1, 0, 3, 2, 0, 5, 12, 134, 151, 95, 83, 88, 81, 20, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 222, 227, 225, 202, 131, 129, 164, 255, 255, 255, 255, 255, 255, 255, 255, 56, 5, 2, 4, 0, 1, 7, 0, 1, 7, 1, 5, 3, 4, 4, 39, 203, 188, 116, 134, 136, 137, 140, 142, 141, 139, 137, 135, 134, 128, 126, 122, 117, 112, 107, 100, 94, 88, 81, 74, 67, 59, 54, 55, 61, 72, 79, 91, 107, 120, 135, 154, 160, 30, 14, 1, 1, 0, 5, 0, 5, 6, 17, 190, 184, 114, 128, 111, 78, 74, 8, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 224, 227, 224, 176, 130, 129, 194, 255, 255, 255, 255, 255, 255, 255, 141, 6, 1, 3, 2, 3, 4, 2, 2, 1, 2, 4, 1, 3, 5, 103, 223, 212, 197, 133, 105, 121, 125, 126, 127, 127, 127, 126, 123, 120, 119, 117, 111, 105, 100, 95, 87, 81, 77, 70, 61, 55, 52, 53, 63, 75, 85, 93, 103, 121, 133, 143, 108, 11, 8, 3, 4, 1, 1, 2, 1, 4, 49, 190, 203, 170, 108, 193, 164, 118, 45, 48, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 227, 227, 224, 219, 149, 127, 129, 255, 255, 255, 255, 255, 255, 255, 255, 13, 3, 1, 3, 5, 1, 1, 1, 1, 4, 2, 1, 3, 6, 153, 213, 202, 194, 177, 127, 80, 101, 110, 106, 115, 115, 112, 113, 108, 108, 105, 100, 94, 92, 89, 84, 77, 72, 65, 55, 52, 56, 52, 65, 78, 86, 95, 109, 120, 122, 93, 23, 7, 5, 1, 3, 0, 0, 3, 2, 5, 57, 208, 201, 179, 136, 151, 227, 193, 130, 55, 85, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 255, 223, 225, 217, 130, 131, 153, 255, 255, 255, 255, 255, 255, 255, 131, 1, 2, 1, 0, 0, 2, 0, 8, 0, 0, 0, 3, 14, 62, 133, 179, 186, 164, 151, 105, 118, 89, 81, 95, 96, 94, 97, 103, 94, 99, 92, 87, 82, 77, 75, 67, 61, 56, 53, 48, 50, 65, 69, 84, 87, 102, 101, 74, 42, 9, 6, 9, 0, 2, 4, 0, 0, 0, 1, 1, 39, 190, 187, 180, 159, 109, 169, 255, 201, 112, 36, 163, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 210, 197, 164, 255, 255, 255, 255, 255, 255, 255, 42, 6, 4, 0, 3, 1, 2, 2, 0, 4, 3, 2, 16, 87, 154, 134, 157, 150, 144, 112, 80, 120, 175, 102, 72, 76, 79, 81, 77, 79, 75, 77, 72, 68, 62, 61, 56, 55, 53, 53, 66, 72, 79, 84, 51, 22, 10, 6, 1, 3, 4, 2, 5, 1, 1, 0, 0, 2, 6, 2, 39, 96, 139, 163, 152, 127, 80, 169, 215, 180, 100, 9, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 183, 151, 191, 255, 255, 255, 255, 220, 10, 1, 1, 1, 3, 0, 1, 0, 2, 0, 1, 6, 80, 181, 165, 141, 135, 116, 112, 92, 64, 117, 99, 109, 66, 58, 56, 65, 60, 63, 63, 62, 58, 55, 53, 52, 53, 58, 62, 69, 74, 84, 81, 22, 2, 6, 2, 2, 3, 1, 3, 0, 0, 1, 1, 0, 1, 3, 5, 97, 117, 176, 149, 134, 121, 97, 71, 125, 163, 122, 55, 37, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 192, 156, 117, 255, 255, 255, 255, 158, 1, 0, 0, 1, 0, 0, 2, 2, 1, 2, 0, 35, 113, 89, 81, 88, 108, 74, 69, 61, 75, 120, 138, 104, 112, 15, 56, 55, 53, 54, 51, 53, 56, 56, 60, 60, 66, 74, 82, 89, 94, 73, 14, 6, 8, 2, 2, 4, 1, 4, 0, 6, 7, 1, 5, 0, 1, 18, 135, 103, 143, 117, 123, 104, 86, 67, 74, 129, 80, 98, 15, 138, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 187, 160, 106, 142, 255, 255, 255, 104, 1, 5, 1, 2, 0, 3, 1, 0, 0, 5, 3, 71, 154, 123, 102, 67, 88, 78, 79, 97, 117, 148, 173, 105, 5, 8, 64, 185, 121, 77, 72, 71, 73, 77, 82, 86, 91, 96, 100, 109, 64, 9, 5, 4, 1, 2, 1, 2, 0, 2, 5, 0, 0, 2, 1, 2, 37, 201, 144, 99, 80, 69, 86, 84, 72, 77, 109, 148, 153, 53, 20, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 201, 181, 144, 96, 117, 255, 255, 255, 79, 4, 1, 1, 5, 0, 1, 0, 2, 0, 5, 2, 128, 207, 186, 153, 106, 45, 20, 32, 74, 81, 31, 9, 2, 7, 88, 255, 255, 255, 199, 146, 107, 99, 99, 95, 107, 108, 117, 117, 85, 6, 3, 2, 1, 5, 2, 0, 0, 1, 1, 4, 0, 1, 4, 4, 77, 202, 182, 104, 169, 144, 120, 79, 94, 84, 95, 121, 120, 28, 0, 127, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 204, 187, 163, 124, 79, 139, 255, 255, 255, 18, 1, 4, 1, 0, 2, 4, 1, 0, 5, 0, 16, 178, 255, 219, 185, 115, 71, 1, 0, 1, 3, 3, 3, 19, 148, 255, 255, 255, 255, 255, 255, 255, 224, 203, 172, 175, 159, 163, 155, 17, 4, 5, 0, 0, 0, 0, 1, 0, 4, 2, 1, 2, 0, 2, 83, 216, 199, 160, 113, 217, 191, 151, 86, 4, 1, 0, 2, 1, 5, 48, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 213, 255, 255, 255, 255, 255, 255, 225, 212, 198, 181, 160, 127, 89, 77, 193, 255, 255, 255, 19, 1, 0, 0, 1, 0, 5, 0, 1, 3, 0, 34, 201, 255, 255, 189, 108, 38, 1, 1, 2, 0, 2, 52, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 131, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 5, 0, 1, 6, 128, 208, 196, 179, 132, 133, 255, 212, 158, 81, 3, 0, 1, 0, 4, 69, 214, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 208, 193, 199, 208, 206, 205, 198, 193, 180, 166, 149, 123, 87, 73, 138, 217, 255, 255, 255, 104, 0, 1, 1, 3, 1, 2, 9, 0, 0, 5, 36, 193, 226, 211, 169, 107, 2, 7, 0, 6, 6, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 17, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 2, 4, 80, 194, 185, 173, 149, 104, 145, 255, 210, 147, 62, 4, 6, 2, 0, 74, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 205, 186, 168, 154, 151, 140, 120, 95, 70, 86, 139, 143, 125, 255, 255, 255, 118, 4, 2, 1, 1, 6, 0, 0, 1, 0, 0, 35, 141, 165, 167, 113, 72, 2, 0, 3, 8, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 4, 1, 1, 1, 0, 0, 1, 1, 1, 0, 3, 1, 7, 76, 95, 149, 156, 147, 123, 89, 143, 206, 181, 111, 36, 3, 0, 6, 73, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 177, 136, 105, 81, 113, 145, 156, 88, 84, 255, 255, 255, 197, 4, 3, 1, 1, 1, 1, 1, 4, 0, 5, 23, 130, 85, 91, 110, 5, 6, 2, 32, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71, 9, 1, 1, 0, 0, 0, 0, 1, 1, 3, 0, 2, 46, 151, 172, 140, 132, 117, 97, 65, 121, 122, 127, 72, 3, 1, 5, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 204, 188, 165, 145, 120, 82, 69, 182, 255, 255, 255, 64, 2, 4, 1, 0, 6, 1, 0, 3, 0, 10, 133, 139, 134, 30, 3, 2, 72, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 17, 2, 1, 1, 0, 0, 0, 0, 1, 1, 0, 6, 7, 113, 140, 120, 120, 91, 88, 66, 73, 126, 97, 108, 42, 2, 5, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 210, 196, 179, 161, 138, 118, 83, 60, 141, 255, 255, 255, 255, 100, 29, 3, 1, 1, 1, 0, 6, 2, 4, 56, 121, 33, 5, 6, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 6, 4, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 48, 103, 73, 69, 112, 68, 64, 78, 108, 150, 162, 73, 6, 15, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 211, 199, 186, 169, 154, 135, 106, 159, 213, 169, 203, 255, 255, 255, 255, 255, 219, 152, 93, 41, 9, 0, 0, 0, 8, 2, 3, 20, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 168, 0, 2, 1, 0, 0, 1, 1, 1, 1, 1, 0, 5, 97, 157, 141, 104, 89, 71, 95, 106, 135, 94, 22, 7, 14, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 227, 222, 218, 207, 199, 187, 176, 162, 147, 126, 114, 255, 255, 170, 113, 135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 100, 48, 11, 4, 57, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 6, 164, 204, 176, 133, 65, 3, 3, 2, 0, 7, 3, 15, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 226, 228, 227, 224, 222, 216, 209, 204, 196, 185, 174, 163, 153, 134, 115, 151, 255, 209, 157, 103, 67, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 94, 0, 1, 2, 0, 3, 1, 0, 2, 0, 1, 1, 25, 220, 255, 203, 147, 63, 7, 0, 1, 2, 8, 35, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 215, 211, 211, 203, 209, 202, 196, 188, 178, 172, 165, 150, 138, 125, 105, 151, 255, 184, 133, 86, 66, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 5, 0, 0, 5, 2, 2, 5, 0, 0, 5, 0, 42, 255, 255, 200, 134, 46, 0, 2, 3, 2, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 194, 182, 172, 197, 193, 185, 185, 174, 169, 161, 149, 145, 126, 114, 94, 131, 200, 162, 118, 79, 68, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 93, 0, 0, 0, 3, 0, 0, 0, 2, 6, 0, 4, 52, 206, 210, 176, 98, 19, 5, 3, 0, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 198, 111, 36, 182, 173, 177, 163, 164, 157, 143, 135, 129, 112, 101, 83, 82, 177, 135, 97, 62, 84, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 162, 0, 1, 3, 0, 1, 5, 0, 0, 4, 2, 2, 60, 141, 158, 129, 86, 2, 0, 6, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 229, 143, 2, 165, 165, 159, 152, 63, 61, 135, 123, 115, 104, 89, 70, 59, 128, 113, 79, 66, 103, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 8, 0, 0, 1, 2, 0, 4, 5, 0, 1, 0, 48, 124, 81, 88, 45, 5, 3, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 164, 7, 111, 147, 146, 140, 41, 28, 123, 112, 99, 87, 75, 60, 63, 87, 89, 65, 80, 131, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 73, 2, 2, 0, 3, 0, 0, 2, 0, 3, 0, 38, 149, 142, 74, 0, 0, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 44, 60, 132, 126, 129, 43, 11, 103, 96, 90, 73, 61, 62, 71, 100, 90, 93, 128, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 46, 11, 0, 2, 4, 0, 0, 1, 2, 8, 100, 50, 5, 14, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 147, 21, 115, 114, 106, 64, 3, 71, 83, 70, 58, 56, 73, 92, 112, 144, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 118, 56, 17, 6, 2, 10, 0, 3, 3, 11, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 48, 68, 95, 94, 72, 2, 33, 68, 53, 64, 73, 91, 114, 136, 163, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 127, 58, 8, 2, 25, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 210, 102, 76, 69, 67, 12, 14, 53, 67, 77, 89, 108, 138, 158, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 229, 139, 79, 57, 0, 58, 90, 102, 116, 140, 158, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 169, 135, 124, 128, 136, 167, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],
|
||||
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
|
||||
];
|
||||
|
||||
dots = px_gray(levels, center = true, normalize = true);
|
||||
for(dot = dots) {
|
||||
translate(dot[0])
|
||||
square(dot[1]);
|
||||
}
|
||||
|
||||

|
@@ -11,7 +11,7 @@ Given two points. `px_line` returns points that can be used to draw a pixel-styl
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_line.scad>;
|
||||
use <pixel/px_line.scad>;
|
||||
|
||||
for(pt = px_line([-10, 0], [20, 50])) {
|
||||
translate(pt)
|
||||
@@ -20,7 +20,7 @@ Given two points. `px_line` returns points that can be used to draw a pixel-styl
|
||||
|
||||

|
||||
|
||||
include <pixel/px_line.scad>;
|
||||
use <pixel/px_line.scad>;
|
||||
|
||||
for(pt = px_line([-10, 0, -10], [20, 50, 10])) {
|
||||
translate(pt)
|
@@ -11,11 +11,8 @@ Returns points that can be used to draw a pixel-style polygon.
|
||||
|
||||
## Examples
|
||||
|
||||
include <in_shape.scad>;
|
||||
include <pixel/px_line.scad>;
|
||||
include <pixel/px_polyline.scad>;
|
||||
include <pixel/px_polygon.scad>;
|
||||
include <shape_pentagram.scad>;
|
||||
use <pixel/px_polygon.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
|
||||
pentagram = [
|
||||
for(pt = shape_pentagram(15))
|
@@ -10,9 +10,8 @@ Given a list of points. `px_polyline` returns points that can be used to draw a
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_line.scad>;
|
||||
include <pixel/px_polyline.scad>;
|
||||
include <shape_pentagram.scad>;
|
||||
use <pixel/px_polyline.scad>;
|
||||
use <shape_pentagram.scad>;
|
||||
|
||||
pentagram = [
|
||||
for(pt = shape_pentagram(15))
|
||||
@@ -27,10 +26,8 @@ Given a list of points. `px_polyline` returns points that can be used to draw a
|
||||
|
||||

|
||||
|
||||
include <pixel/px_line.scad>;
|
||||
include <pixel/px_polyline.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <sphere_spiral.scad>;
|
||||
use <pixel/px_polyline.scad>;
|
||||
use <sphere_spiral.scad>;
|
||||
|
||||
points_angles = sphere_spiral(
|
||||
radius = 20,
|
@@ -12,7 +12,7 @@ Returns points that can be used to draw a pixel-style sphere.
|
||||
|
||||
## Examples
|
||||
|
||||
include <pixel/px_sphere.scad>;
|
||||
use <pixel/px_sphere.scad>;
|
||||
|
||||
for(pt = px_sphere(10)) {
|
||||
translate(pt)
|
21
docs/lib2x-rand.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# rand
|
||||
|
||||
Random number generator. Generates a pseudo random number.
|
||||
|
||||
**Since:** 2.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `min_value` : Minimum value of random number range. Default to 0.
|
||||
- `max_value` : Maximum value of random number range. Default to 1.
|
||||
- `seed_value` : Optional. Seed value for random number generator for repeatable results.
|
||||
|
||||
## Examples
|
||||
|
||||
use <util/rand.scad>;
|
||||
|
||||
echo(rand());
|
||||
echo(rand(1, 10));
|
||||
echo(rand(seed_value = 4));
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
Reverse a list.
|
||||
|
||||
**Since: **: 2.0
|
||||
**Since:**: 2.0
|
||||
|
||||
## Parameters
|
||||
|
||||
@@ -10,7 +10,7 @@ Reverse a list.
|
||||
|
||||
## Examples
|
||||
|
||||
include <util/reverse.scad>;
|
||||
use <util/reverse.scad>;
|
||||
|
||||
echo(reverse([1, 2, 3])); // ECHO: [3, 2, 1]
|
||||
|
@@ -4,24 +4,21 @@ Rotational extrusion spins a 2D shape around the Z-axis. It's similar to the bui
|
||||
|
||||
Because we cannot retrieve the shape points of built-in 2D modules, it's necessary to provide `shapt_pts` and `triangles`.
|
||||
|
||||
If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
If your 2D shape is not solid, indexes of triangles are required. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `shape_pts` : A list of points represent a shape. See the example below.
|
||||
- `radius` : The circle radius.
|
||||
- `angle` : Defaults to 360. Specifies the number of degrees to sweep, starting at the positive X axis. It also accepts a 2 element vector which defines the central angle. The first element of the vector is the beginning angle in degrees, and the second element is the ending angle.
|
||||
- `twist` : The number of degrees of through which the shape is extruded.
|
||||
- `twist` : The number of degrees of through which the shape is twisted.
|
||||
- `scale` : Scales the 2D shape by this value over the length of the extrusion. Scale can be a scalar or a vector.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib-polysections.html) for details.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See [polysections](https://openhome.cc/eGossip/OpenSCAD/lib2x-polysections.html) for details.
|
||||
- `$fa`, `$fs`, `$fn` : Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) for more details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
use <ring_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[2, -10],
|
||||
@@ -34,10 +31,7 @@ If your 2D shape is not solid, indexes of triangles are required. See [polysecti
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
use <ring_extrude.scad>;
|
||||
|
||||
shape_pts = [
|
||||
[2, -10],
|
@@ -12,7 +12,7 @@ Rotates a point `a` degrees about the axis of the coordinate system or around an
|
||||
|
||||
You can use the code below to create a line.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
hull() {
|
||||
sphere(1);
|
||||
@@ -23,7 +23,7 @@ You can use the code below to create a line.
|
||||
|
||||
The following code has the same effect.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
point = [20, 0, 0];
|
||||
a = [0, -45, 45];
|
||||
@@ -39,7 +39,7 @@ The following code has the same effect.
|
||||
|
||||
The `rotate_p` function is useful in some situations. For example, you probably want to get all points on the path of a spiral around a sphere.
|
||||
|
||||
include <rotate_p.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
radius = 40;
|
||||
step_angle = 10;
|
||||
@@ -63,7 +63,7 @@ The `rotate_p` function is useful in some situations. For example, you probably
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
use <rotate_p.scad>;
|
||||
|
||||
v = [10, 10, 10];
|
||||
|
@@ -11,13 +11,13 @@ Creates a cube in the first octant. When `center` is `true`, the cube is centere
|
||||
|
||||
## Examples
|
||||
|
||||
include <rounded_cube.scad>;
|
||||
use <rounded_cube.scad>;
|
||||
|
||||
rounded_cube(20, 5);
|
||||
|
||||

|
||||
|
||||
include <rounded_cube.scad>;
|
||||
use <rounded_cube.scad>;
|
||||
|
||||
rounded_cube(
|
||||
size = [50, 25, 15],
|
||||
@@ -27,7 +27,7 @@ Creates a cube in the first octant. When `center` is `true`, the cube is centere
|
||||
|
||||

|
||||
|
||||
include <rounded_cube.scad>;
|
||||
use <rounded_cube.scad>;
|
||||
|
||||
$fn = 8;
|
||||
|
@@ -13,7 +13,7 @@ Creates a rounded cylinder.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rounded_cylinder.scad>;
|
||||
use <rounded_cylinder.scad>;
|
||||
|
||||
rounded_cylinder(
|
||||
radius = [20, 10],
|
@@ -12,7 +12,7 @@ Extrudes a 2D object roundly from 0 to 180 degrees.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rounded_extrude.scad>;
|
||||
use <rounded_extrude.scad>;
|
||||
|
||||
$fn = 48;
|
||||
|
@@ -11,13 +11,13 @@ Creates a rounded square or rectangle in the first quadrant. When `center` is `t
|
||||
|
||||
## Examples
|
||||
|
||||
include <rounded_square.scad>;
|
||||
use <rounded_square.scad>;
|
||||
|
||||
rounded_square(size = 50, corner_r = 5);
|
||||
|
||||

|
||||
|
||||
include <rounded_square.scad>;
|
||||
use <rounded_square.scad>;
|
||||
|
||||
rounded_square(
|
||||
size = [50, 25],
|
||||
@@ -27,7 +27,7 @@ Creates a rounded square or rectangle in the first quadrant. When `center` is `t
|
||||
|
||||

|
||||
|
||||
include <rounded_square.scad>;
|
||||
use <rounded_square.scad>;
|
||||
|
||||
$fn = 4;
|
||||
rounded_square(
|
@@ -11,18 +11,16 @@ Returns shape points of an arc shape. They can be used with xxx_extrude modules
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_arc.scad>;
|
||||
use <shape_arc.scad>;
|
||||
|
||||
shape_pts = shape_arc(radius = 10, angle = [-90, 90], width = 5);
|
||||
polygon(shape_pts);
|
||||
|
||||

|
||||
|
||||
include <shape_arc.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
use <shape_arc.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
width = 2;
|
@@ -4,14 +4,14 @@ Returns shape points of a regular cyclic polygon. They can be used with xxx_extr
|
||||
|
||||
## Parameters
|
||||
|
||||
- `sides` : The radius of the circle.
|
||||
- `sides` : The sides of the circle.
|
||||
- `circle_r` : The radius of the circumcircle.
|
||||
- `corner_r` : The radius of the circle at a corner.
|
||||
- `$fa`, `$fs`, `$fn` : Check [the circle module](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Using_the_2D_Subsystem#circle) for more details.
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_cyclicpolygon.scad>;
|
||||
use <shape_cyclicpolygon.scad>;
|
||||
|
||||
circle_r = 10;
|
||||
corner_r = 3;
|
||||
@@ -42,11 +42,8 @@ Returns shape points of a regular cyclic polygon. They can be used with xxx_extr
|
||||
|
||||

|
||||
|
||||
include <shape_cyclicpolygon.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <ring_extrude.scad>;
|
||||
use <shape_cyclicpolygon.scad>;
|
||||
use <ring_extrude.scad>;
|
||||
|
||||
shape_pts = shape_cyclicpolygon(
|
||||
sides = 5,
|
@@ -9,7 +9,7 @@ Returns shape points of an ellipse. They can be used with xxx_extrude modules of
|
||||
|
||||
## Examples
|
||||
|
||||
include <shape_ellipse.scad>;
|
||||
use <shape_ellipse.scad>;
|
||||
|
||||
polygon(
|
||||
shape_ellipse([40, 20])
|
||||
@@ -17,13 +17,8 @@ Returns shape points of an ellipse. They can be used with xxx_extrude modules of
|
||||
|
||||

|
||||
|
||||
include <shape_ellipse.scad>;
|
||||
include <circle_path.scad>;
|
||||
include <helix.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <cross_sections.scad>;
|
||||
include <polysections.scad>;
|
||||
include <helix_extrude.scad>;
|
||||
use <shape_ellipse.scad>;
|
||||
use <helix_extrude.scad>;
|
||||
|
||||
$fn = 8;
|
||||
|