Compare commits
1023 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
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 | ||
|
86f94d2499 | ||
|
6737b4a43e | ||
|
3dde9f2745 | ||
|
3ac4136043 | ||
|
70879d4c73 | ||
|
840f8df3ae | ||
|
49e13d920a | ||
|
948410ec56 | ||
|
8576d93dd8 | ||
|
47a3f9c155 | ||
|
93c7ea5c9d | ||
|
cfda38c8bd | ||
|
d3640830c4 | ||
|
dac87e49c5 | ||
|
843063db31 | ||
|
30c1e0fb13 | ||
|
8727bfbf8b | ||
|
c12e160e03 | ||
|
110bc5c400 | ||
|
8fdd195949 | ||
|
4c65e12a88 | ||
|
1816aad98e | ||
|
28e8a5c4b2 | ||
|
d849034bc7 | ||
|
2c1f8faa56 | ||
|
b998cc8f32 | ||
|
e126b1af1d | ||
|
b256bf7c90 | ||
|
3c830cc90d | ||
|
76b973d824 | ||
|
90c05523ce | ||
|
0cfa510874 | ||
|
9b6c17ace4 | ||
|
43f84ba478 | ||
|
8ee52bd672 | ||
|
dc5e063b25 | ||
|
aae8f688c0 | ||
|
60931ec8b9 | ||
|
5a15dd9fdb | ||
|
6bb3b445b4 | ||
|
66bb8ef643 | ||
|
4d02e6bb65 | ||
|
681d697840 | ||
|
8a8e28c61d | ||
|
55c2cd6fda | ||
|
273d32dc69 | ||
|
472d5c7ba7 | ||
|
eba7f63576 | ||
|
ec18d2eeeb | ||
|
51e5356f21 | ||
|
582050d096 | ||
|
b7d8d3e87c | ||
|
ed6ddec02c | ||
|
ab0504607d | ||
|
b3ae216b72 | ||
|
a6caaac787 | ||
|
f915b07289 | ||
|
1ff5d848d2 | ||
|
8de9c7f138 | ||
|
92c1667194 | ||
|
e26e6d7472 | ||
|
47b5b91b0a | ||
|
cda26241dd | ||
|
cfa0d211ed | ||
|
0a73460884 | ||
|
774229e3f9 | ||
|
b1c3e371a3 | ||
|
e45c16fe3f | ||
|
2b36c42c99 | ||
|
bec487baba | ||
|
ce0daaf6bc | ||
|
46c25aa51e | ||
|
f542661e2a | ||
|
172e1f8ceb | ||
|
31c6ee8599 | ||
|
d9199bf9ed | ||
|
3b57412108 | ||
|
fd684a10cb | ||
|
aa5fc938d0 | ||
|
ac1167eacc | ||
|
691a8f3ff9 | ||
|
e6280ad9f4 | ||
|
0c6744c62d | ||
|
6d858125c2 | ||
|
cad5623248 | ||
|
07fd4e47e3 | ||
|
108a232981 | ||
|
912adba419 | ||
|
53a69477d6 | ||
|
5f3bfb391d | ||
|
16509eec6c | ||
|
15a03b7fb2 | ||
|
deec59b408 | ||
|
8fa2de0a60 | ||
|
5d012ece48 | ||
|
b1687bece2 | ||
|
2d9562c8b6 | ||
|
c8e1244651 | ||
|
862fabcd3a | ||
|
1a28d90853 | ||
|
9d1804a4d1 | ||
|
502ef06db2 | ||
|
810f298c70 | ||
|
0408ec9cbe | ||
|
be05e3b68e | ||
|
65119984fd | ||
|
bdb4dace7f | ||
|
4aff538837 | ||
|
c0fb254c43 | ||
|
dd03a9f3db | ||
|
eca1d20c70 | ||
|
d9f065a734 | ||
|
a5d2c24ea1 | ||
|
aa12110504 | ||
|
8f0b40322e | ||
|
d4aaee1db9 | ||
|
ee89119f2f | ||
|
d1bd586bee | ||
|
f88b7bf8f3 | ||
|
fbd10cd25d | ||
|
dfe76bff78 | ||
|
d743f36086 | ||
|
f1eda43ac0 | ||
|
569171971b | ||
|
cb4b3e6685 | ||
|
eaed7ff34f | ||
|
2c00ef8525 | ||
|
17c62ba293 | ||
|
ae78c61491 | ||
|
e9b1e7f61f | ||
|
9ed4e1c42b | ||
|
72197670cb | ||
|
b9d88334c5 | ||
|
937b6a35bd | ||
|
5aec44eba8 | ||
|
2f6a170d2c | ||
|
5fff65c0d1 | ||
|
3aa5d552c0 | ||
|
631d0c8506 | ||
|
5d8abc1028 | ||
|
59ae810383 | ||
|
ccce2706f0 | ||
|
c680780d11 | ||
|
0d829b7185 | ||
|
e3706e1f87 | ||
|
9f1aa6a653 | ||
|
67a7d20880 | ||
|
7cc01a05c6 | ||
|
f9dd9deb53 | ||
|
a747bcff3a | ||
|
d94381dee2 | ||
|
8ef20b16e3 | ||
|
de1d0166e6 | ||
|
eb8305966d | ||
|
2d74627e45 | ||
|
945aeacdc4 | ||
|
17b731ad8f | ||
|
3830a2e523 | ||
|
62840eb510 | ||
|
d6021374ba | ||
|
43e5e66529 | ||
|
dde0156642 | ||
|
edabcb8f79 | ||
|
f7398f0d84 | ||
|
0f37651bc3 | ||
|
2df7a64ad7 | ||
|
0b4097fd09 | ||
|
0bad260d46 | ||
|
e414d2859b | ||
|
c9d0122779 | ||
|
daed828c9a | ||
|
8ceae06645 | ||
|
299b3869fd | ||
|
80fb650df4 | ||
|
919ae2f158 | ||
|
a851ee6bb7 | ||
|
340847cd19 | ||
|
5b21cc10d7 | ||
|
ab99a24352 | ||
|
f4696f231e | ||
|
218db7f7a8 | ||
|
bb8604e42b | ||
|
9182575ff2 | ||
|
ed9477ece5 | ||
|
56d2fb648f | ||
|
057ad863af | ||
|
002711ae3e | ||
|
8a5956e852 | ||
|
0eb1387f27 | ||
|
46dfe4ff25 | ||
|
323e81a82c | ||
|
61c6e9f70d | ||
|
2af270a8da | ||
|
c4c9831798 | ||
|
03ac58acaa | ||
|
2110b9cb31 | ||
|
93d7c0239d | ||
|
5a37620a5b | ||
|
8bc6a0b4c9 | ||
|
06831ffe15 | ||
|
df5775bd05 | ||
|
6f83a6192a | ||
|
85f8acdbee | ||
|
c75bf8bfee | ||
|
2d755a6cbf | ||
|
01fc0298f6 | ||
|
a07244fd47 | ||
|
e3443bf0e8 | ||
|
e2771ca01c | ||
|
643266f4a3 | ||
|
5a0a4a8fa4 | ||
|
78127faba6 | ||
|
d203fe4030 | ||
|
3be3a271e6 | ||
|
f5d813839b | ||
|
0a604c5793 | ||
|
f1a8d6f0dc | ||
|
af084fb043 | ||
|
0510b18516 | ||
|
78bfb2f31d | ||
|
e185e9b7e9 | ||
|
3fb08570c6 | ||
|
41db148815 | ||
|
beaebfcc37 | ||
|
6493eea0ac | ||
|
6299da9d23 | ||
|
e5850f871d | ||
|
85c75018f1 | ||
|
e84c7bc7a0 | ||
|
26db1cf25b | ||
|
f9d609087d | ||
|
14bbb3f205 | ||
|
3376b870a7 | ||
|
90d2f1ac9c | ||
|
fe8256ef0d | ||
|
7351e401c9 | ||
|
e26d1d3233 | ||
|
ad7819f1eb | ||
|
957e5ab5d5 | ||
|
0218724b48 | ||
|
8983b01b30 | ||
|
7c59a3e11b | ||
|
f433a79c31 | ||
|
700f46bfef | ||
|
e34bc73def | ||
|
cec42209f2 | ||
|
758b14715f | ||
|
f89794e3cc | ||
|
edd022bca2 | ||
|
c5c9ca40c9 | ||
|
423fc36f1c | ||
|
283b091c7c | ||
|
bf0601eaef | ||
|
8c4d2b5333 | ||
|
88b0868358 | ||
|
68ad185712 | ||
|
2e1def3556 | ||
|
9a2e66f999 | ||
|
e1985e85b0 | ||
|
c31145be3b | ||
|
fee00580be | ||
|
5a836b02d6 | ||
|
bec05fb5b4 | ||
|
15c1a98b8d | ||
|
e170918a5d | ||
|
5a7c13a548 | ||
|
f34f2e0bbf | ||
|
f47267c656 | ||
|
2e2079a323 | ||
|
627909fc9e | ||
|
fcddf7b187 | ||
|
eaeb0d1e28 | ||
|
6b64ca01ab | ||
|
df0f293825 | ||
|
37e272e333 | ||
|
799790932e | ||
|
a56d443686 | ||
|
d581e60678 | ||
|
d1ae9174a9 | ||
|
9d63c4ffeb | ||
|
db6c77a523 | ||
|
658fe213d6 | ||
|
184b0be7e8 | ||
|
e0874c5ca3 | ||
|
84f27c1ce3 | ||
|
2f8f51ad30 | ||
|
76bbb93724 | ||
|
f2f25fcc44 | ||
|
576470477a | ||
|
8f8e1f717a | ||
|
91d39de4a6 | ||
|
5e3d1ced28 | ||
|
1d812f8750 | ||
|
6854c86f90 | ||
|
ff63835009 | ||
|
f6a1050a01 | ||
|
aabc373798 | ||
|
e9e346cb51 | ||
|
810a1d3ece | ||
|
43a52bbaa0 | ||
|
fdefc03774 | ||
|
56d755ec06 | ||
|
b2abc0dde0 | ||
|
49398206de | ||
|
d2287ff119 | ||
|
731b4ff1ab | ||
|
bb45854f33 | ||
|
7648373e01 | ||
|
0e9710b8d4 | ||
|
69e6d24b08 | ||
|
47523ea95c | ||
|
99e91aafaa | ||
|
106be46e64 | ||
|
cc0e7499f9 | ||
|
840799f6cc | ||
|
10aed43d98 | ||
|
217878454a | ||
|
0b4d1e3840 | ||
|
dd90b4c106 | ||
|
ea39db6ca2 | ||
|
d904a0b629 | ||
|
eed652ee17 | ||
|
208fd1cb0f | ||
|
40280f6927 | ||
|
53cd4f3d4a | ||
|
31ce310080 | ||
|
46633f444a | ||
|
42d90d68ff | ||
|
8b70b3e2b4 | ||
|
59e9f97fa7 | ||
|
571ddccf5c | ||
|
68f2539726 | ||
|
b9518ad8ed | ||
|
944d63dc68 | ||
|
309a2086a3 | ||
|
b66c36fc55 | ||
|
31a2e1c54e | ||
|
80e296d9dc | ||
|
12b5df8a0f | ||
|
53f9583cf3 | ||
|
1401a00876 | ||
|
5dfb293702 | ||
|
2aca57c779 | ||
|
60dee6f872 | ||
|
c5ca8528d5 | ||
|
0cec181a0b | ||
|
b9a3d5c496 | ||
|
699de29c53 | ||
|
1f3022a3cc | ||
|
e081d03193 | ||
|
8f40ae8b30 | ||
|
afd460579e | ||
|
c0902b00cc | ||
|
a71b9fe174 | ||
|
90b2d542ef | ||
|
6a83c26e9b | ||
|
652f763c90 | ||
|
6babff457e | ||
|
429abba8ae | ||
|
561e2b69b1 | ||
|
7dbfbc3741 | ||
|
e0256a0925 | ||
|
599ffdb4ab | ||
|
00dfbd2366 | ||
|
d8027d45e2 | ||
|
a0f16c9cd6 | ||
|
04fd1590a7 | ||
|
4e1eca2df2 | ||
|
8457bd403c | ||
|
9f0693c3ae | ||
|
769894d1a3 | ||
|
3ec8d13a14 | ||
|
295ff73223 | ||
|
e20d104cc7 | ||
|
1fcf8b113f | ||
|
d771a88642 | ||
|
de31131741 | ||
|
944152d326 | ||
|
6d62ac0a11 | ||
|
9f2cb46427 | ||
|
5615800a56 | ||
|
90f860cbc7 | ||
|
6754d231fc | ||
|
e099ebd012 | ||
|
81e4f45f89 | ||
|
46ffc7601d | ||
|
31dba8711d | ||
|
ad983b8670 | ||
|
0d35fc2023 | ||
|
6851464068 | ||
|
b9d93bac84 | ||
|
645d0946c1 | ||
|
844c6e7d9b | ||
|
5597fa0ce1 | ||
|
64eaa6d7e1 | ||
|
840fc0eac5 | ||
|
98bac0bdff | ||
|
8f747f2e75 | ||
|
4e3016859c | ||
|
7c38ea2009 | ||
|
ce4d11cf52 | ||
|
b4e4f60902 | ||
|
feb0e351b6 | ||
|
e670ad6b9d | ||
|
bf1cc23f0f | ||
|
fa966bdde8 | ||
|
db8792fc4e | ||
|
7d5e18ff8c | ||
|
8722f971ba | ||
|
6c0a0bdfb0 | ||
|
156e15bc99 | ||
|
b2a521a11f | ||
|
597551e24a | ||
|
bf9a23d5c5 | ||
|
cbf59ce0b4 | ||
|
fafa551959 | ||
|
63dcbe259d | ||
|
4ea52e328e | ||
|
1a92c27b28 | ||
|
a3e2077b46 | ||
|
afa0e99fe5 | ||
|
09016a31cd | ||
|
ec102fbdee | ||
|
106695b988 | ||
|
ee31927015 | ||
|
e60c451033 | ||
|
53b7d7a628 | ||
|
77b3c4c9db | ||
|
bc7f57813b | ||
|
ad4a992c9d | ||
|
f8f7adbb45 | ||
|
f690952f1f | ||
|
ac209d6125 | ||
|
5d394d8738 | ||
|
b3ffb9ab72 | ||
|
665fb09864 | ||
|
f33d6c5671 | ||
|
f985e13231 | ||
|
7b1a683c74 | ||
|
ff8d36336e | ||
|
49be3b9b9f | ||
|
e13abc57ce | ||
|
6fbe42ba8f | ||
|
48e52fa48b | ||
|
0dbe93d16b | ||
|
bdaa05823c | ||
|
035e1fa1b4 |
204
README.md
@@ -1,122 +1,164 @@
|
||||
# dotSCAD 1.1
|
||||
# dotSCAD 2.2
|
||||
|
||||
> Helpful modules and functions when playing OpenSCAD.
|
||||
> **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
|
||||
|
||||
**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 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>;`.
|
||||
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 <line2d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
use <pixel/px_circle.scad>;
|
||||
|
||||
points = px_circle(radius = 10);
|
||||
for(pt = points) {
|
||||
translate(pt) square(1);
|
||||
}
|
||||
|
||||
polyline2d(points = [[1, 2], [-5, -4], [-5, 3], [5, 5]], width = 1);
|
||||
## Examples
|
||||
|
||||
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>;`.
|
||||
See [examples](examples).
|
||||
|
||||
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.
|
||||

|
||||
|
||||
## 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)
|
||||
- [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)
|
||||
- [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)
|
||||
- [sub_str](https://openhome.cc/eGossip/OpenSCAD/lib-sub_str.html)
|
||||
- [split_str](https://openhome.cc/eGossip/OpenSCAD/lib-split_str.html)
|
||||
- [parse_number](https://openhome.cc/eGossip/OpenSCAD/lib-parse_number.html)
|
||||
- [cross_sections](https://openhome.cc/eGossip/OpenSCAD/lib-cross_sections.html)
|
||||
- [paths2sections](https://openhome.cc/eGossip/OpenSCAD/lib-paths2sections.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)
|
||||
- [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)
|
||||
|
||||
- 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
|
||||
- [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)
|
||||
- [bend_extrude](https://openhome.cc/eGossip/OpenSCAD/lib2x-bend_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/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
|
||||
- [m_multiply](https://openhome.cc/eGossip/OpenSCAD/lib-m_multiply.html)
|
||||
- [m_cumulate](https://openhome.cc/eGossip/OpenSCAD/lib-m_cumulate.html)
|
||||
- [m_translation](https://openhome.cc/eGossip/OpenSCAD/lib-m_translation.html)
|
||||
- [m_rotation](https://openhome.cc/eGossip/OpenSCAD/lib-m_rotation.html)
|
||||
- [m_scaling](https://openhome.cc/eGossip/OpenSCAD/lib-m_scaling.html)
|
||||
- [m_mirror](https://openhome.cc/eGossip/OpenSCAD/lib-m_mirror.html)
|
||||
- [m_shearing](https://openhome.cc/eGossip/OpenSCAD/lib-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)
|
||||
|
||||
- Other
|
||||
- [turtle2d](https://openhome.cc/eGossip/OpenSCAD/lib-turtle2d.html)
|
||||
- [turtle3d](https://openhome.cc/eGossip/OpenSCAD/lib-turtle3d.html)
|
||||
- [log](https://openhome.cc/eGossip/OpenSCAD/lib-log.html)
|
||||
- Turtle
|
||||
- [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/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
|
||||
|
||||
For bugs, questions and discussions please use the [Github Issues](https://github.com/JustinSDK/dotSCAD/issues).
|
||||
|
101
RELEASE.md
@@ -1,3 +1,103 @@
|
||||
> Version numbers are based on [Semantic Versioning](https://semver.org/).
|
||||
|
||||
# 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.
|
||||
- Directory changed.
|
||||
- `m_cumulate`, `m_mirror`, `m_rotation`, `m_scaling`, `m_shearing` and `m_translation` are moved into the `matrix` directory.
|
||||
- `turtle2d` and `turtle3d` are moved into the `turtle` directory.
|
||||
- `parse_number`, `split_str` and `sub_str` are moved into the `util` directory.
|
||||
- New modules and functions.
|
||||
- [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)
|
||||
- [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)
|
||||
|
||||
# v1.3.3
|
||||
- Bugfixes
|
||||
- `in_shape`: Wrong variable name.
|
||||
|
||||
# v1.3.2
|
||||
- All-in-one source file.
|
||||
- You can use `include <dotSCAD.scad>;` or `use <dotSCAD.scad>;` if you really don't want to care about dependencies.
|
||||
|
||||
- Bugfixes
|
||||
- `along_with`: Wrong variable scope.
|
||||
|
||||
# v1.3.1
|
||||
- Bugfixes
|
||||
- `in_polyline`: Wrong parameter name.
|
||||
- `in_shape`: Missing dependency.
|
||||
- `along_with`: Avoid warning when using 2D points.
|
||||
|
||||
# v1.3
|
||||
- New modules:
|
||||
- [bend_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-bend_extrude.html)
|
||||
- [voronoi2d](https://openhome.cc/eGossip/OpenSCAD/lib-voronoi2d.html)
|
||||
- [voronoi3d](https://openhome.cc/eGossip/OpenSCAD/lib-voronoi3d.html)
|
||||
|
||||
- New functions:
|
||||
- [in_shape](https://openhome.cc/eGossip/OpenSCAD/lib-in_shape.html)
|
||||
- [in_polyline](https://openhome.cc/eGossip/OpenSCAD/lib-in_polyline.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)
|
||||
|
||||
- New parameters:
|
||||
- `distance` of [shape_taiwan](https://openhome.cc/eGossip/OpenSCAD/lib-shape_taiwan.html)
|
||||
- `epsilon` of [bijection_offset](https://openhome.cc/eGossip/OpenSCAD/lib-bijection_offset.html)
|
||||
- `method` of [path_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-path_extrude.html)
|
||||
- `method` of [along_with](https://openhome.cc/eGossip/OpenSCAD/lib-along_with.html)
|
||||
|
||||
# v1.2
|
||||
- New modules and functions:
|
||||
- [starburst](https://openhome.cc/eGossip/OpenSCAD/lib-starburst.html)
|
||||
- [torus_knot](https://openhome.cc/eGossip/OpenSCAD/lib-torus_knot.html)
|
||||
- [bijection_offset](https://openhome.cc/eGossip/OpenSCAD/lib-bijection_offset.html)
|
||||
- [path_scaling_sections](https://openhome.cc/eGossip/OpenSCAD/lib-path_scaling_sections.html)
|
||||
|
||||
- Others
|
||||
- Avoid warnings when using newer versions of OpenSCAD after 2015.03.
|
||||
|
||||
# v1.1.1
|
||||
- Bugfixes
|
||||
- `m_rotation` returns an identity matrix if `a` is 0.
|
||||
- The `path_pts` parameter of `path_extrude` accepts two or three points.
|
||||
- The `points` parameter of `along_with` accepts two or three points.
|
||||
|
||||
- Others
|
||||
- OpenSCAD has built-in matrix multiplication so `m_multiply` is not necessary.
|
||||
|
||||
# v1.1
|
||||
- New matrix functions:
|
||||
- [m_multiply](https://openhome.cc/eGossip/OpenSCAD/lib-m_multiply.html)
|
||||
@@ -14,7 +114,6 @@
|
||||
- New Parameters:
|
||||
- added `v` parameter to [rotate_p](https://openhome.cc/eGossip/OpenSCAD/lib-rotate_p.html)
|
||||
|
||||
|
||||
- Improved Performance:
|
||||
- [path_extrude](https://openhome.cc/eGossip/OpenSCAD/lib-path_extrude.html)
|
||||
- [align_with](https://openhome.cc/eGossip/OpenSCAD/lib-along_with.html)
|
||||
|
BIN
docs/images/caterpillar.JPG
Normal file
After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 37 KiB |
BIN
docs/images/lib-bend_extrude-1.JPG
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
docs/images/lib-bend_extrude-2.JPG
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/images/lib-bijection_offset-1.JPG
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
docs/images/lib-bijection_offset-2.JPG
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
docs/images/lib-circle_path-1.JPG
Normal file
After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 32 KiB |
BIN
docs/images/lib-in_shape-1.JPG
Normal file
After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 22 KiB |
BIN
docs/images/lib-midpt_smooth-1.JPG
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
docs/images/lib-path_extrude-4.JPG
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
docs/images/lib-path_extrude-5.JPG
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
docs/images/lib-path_extrude-6.JPG
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
docs/images/lib-path_extrude-7.JPG
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
docs/images/lib-path_extrude-8.JPG
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
docs/images/lib-path_extrude-9.JPG
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
docs/images/lib-path_scaling_sections-1.JPG
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
docs/images/lib-path_scaling_sections-2.JPG
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
docs/images/lib-path_scaling_sections-3.JPG
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
docs/images/lib-path_scaling_sections-4.JPG
Normal file
After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
BIN
docs/images/lib-polysections-3.JPG
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
docs/images/lib-polysections-4.JPG
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
docs/images/lib-starburst-1.JPG
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
docs/images/lib-torus_knot-1.JPG
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
docs/images/lib-torus_knot-2.JPG
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
docs/images/lib-triangulate-1.JPG
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
docs/images/lib-trim_shape-1.JPG
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
docs/images/lib-voronoi2d-1.JPG
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
docs/images/lib-voronoi2d-2.JPG
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
docs/images/lib-voronoi3d-1.JPG
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
docs/images/lib-voronoi3d-2.JPG
Normal file
After Width: | Height: | Size: 54 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_circle-1.JPG
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
docs/images/lib2-px_circle-2.JPG
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
docs/images/lib2-px_cylinder-1.JPG
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
docs/images/lib2-px_cylinder-2.JPG
Normal file
After Width: | Height: | Size: 66 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-px_line-1.JPG
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
docs/images/lib2-px_line-2.JPG
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
docs/images/lib2-px_polygon-1.JPG
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
docs/images/lib2-px_polyline-1.JPG
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
docs/images/lib2-px_polyline-2.JPG
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
docs/images/lib2-px_sphere-1.JPG
Normal file
After Width: | Height: | Size: 30 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,46 +0,0 @@
|
||||
# log
|
||||
|
||||
A log module which supports simple level configurations and color titles.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `$log_level` : The accepted values are `"OFF"` (-1), `"INFO"` (20),
|
||||
`"WARNING"` (30), `"ERROR"` (40) or positive integers. The default value is `"INFO"`.
|
||||
- `level` : The accepted values are `"OFF"` (-1), `"INFO"` (20),
|
||||
`"WARNING"` (30), `"ERROR"` (40) or positive integers. If the value is greater or equal to `$log_level`, the `echo` message will display in the console.
|
||||
- `level_color` : Controls the color of level title. It accepts the same values as the CSS `color` property.
|
||||
|
||||
## Examples
|
||||
|
||||
include <log.scad>;
|
||||
|
||||
log()
|
||||
echo(" INFO message");
|
||||
|
||||
log("WARNING")
|
||||
echo(" WARNING message");
|
||||
|
||||
log("ERROR") {
|
||||
echo(" ERROR message 1");
|
||||
echo(" ERROR message 2");
|
||||
}
|
||||
|
||||

|
||||
|
||||
include <log.scad>;
|
||||
|
||||
$log_level = "WARNING";
|
||||
|
||||
log()
|
||||
echo(" INFO message");
|
||||
|
||||
log("WARNING", "purple")
|
||||
echo(" WARNING message");
|
||||
|
||||
log("ERROR", "rgb(255, 100, 100)") {
|
||||
echo(" ERROR message 1");
|
||||
echo(" ERROR message 2");
|
||||
}
|
||||
|
||||

|
||||
|
@@ -1,25 +0,0 @@
|
||||
# m_multiply
|
||||
|
||||
Multiply two 4x4 transformation matrice.
|
||||
|
||||
**Since:** 1.1
|
||||
|
||||
## Parameters
|
||||
|
||||
- `ma`, `mb` : Two 4x4 transformation matrice.
|
||||
|
||||
## Examples
|
||||
|
||||
include <m_multiply.scad>;
|
||||
include <m_scaling.scad>;
|
||||
include <m_rotation.scad>;
|
||||
|
||||
ma = m_scaling([0.5, 1, 2]);
|
||||
mb = m_rotation([0, 0, 90]);
|
||||
|
||||
cube(10);
|
||||
multmatrix(m_multiply(ma, mb))
|
||||
translate([15, 0, 0]) cube(10);
|
||||
|
||||

|
||||
|
@@ -1,16 +0,0 @@
|
||||
# parse_number
|
||||
|
||||
Parses the string argument as an number. It depends on the `split_str` and the `sub_str` functions so remember to include split_str.scad and sub_str.scad.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `t` : A string containing the number representation to be parsed.
|
||||
|
||||
## Examples
|
||||
|
||||
include <sub_str.scad>;
|
||||
include <split_str.scad>;
|
||||
include <parse_number.scad>;
|
||||
|
||||
echo(parse_number("10") + 1); // ECHO: 11
|
||||
echo(parse_number("-1.1") + 1); // ECHO: -0.1
|
@@ -1,128 +0,0 @@
|
||||
# path_extrude
|
||||
|
||||
It extrudes a 2D shape along a path. This module is suitable for a path created by a continuous function.
|
||||
|
||||
It depends on the `rotate_p` function and the `polysections` module. Remember to include "rotate_p.scad" and "polysections.scad".
|
||||
|
||||
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.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `shape_pts` : A list of points represent a shape. See the example below.
|
||||
- `path_pts` : A list of points represent the path.
|
||||
- `triangles` : `"SOLID"` (default), `"HOLLOW"` or user-defined indexes. See example below.
|
||||
- `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.
|
||||
- `closed` : If the first point and the last point of `path_pts` has the same coordinate, setting `closed` to `true` will connect them automatically.
|
||||
|
||||
## Examples
|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
width = 2;
|
||||
|
||||
p0 = [0, 0, 0];
|
||||
p1 = [40, 60, 35];
|
||||
p2 = [-50, 70, 0];
|
||||
p3 = [20, 150, -35];
|
||||
p4 = [30, 50, -3];
|
||||
|
||||
shape_pts = [
|
||||
[5, -5],
|
||||
[3, 4],
|
||||
[0, 5],
|
||||
[-5, -5]
|
||||
];
|
||||
|
||||
path_pts = bezier_curve(t_step,
|
||||
[p0, p1, p2, p3, p4]
|
||||
);
|
||||
|
||||
path_extrude(shape_pts, path_pts);
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
|
||||
p0 = [0, 0, 0];
|
||||
p1 = [40, 60, 35];
|
||||
p2 = [-50, 70, 0];
|
||||
p3 = [20, 150, -35];
|
||||
p4 = [30, 50, -3];
|
||||
|
||||
shape_pts = [
|
||||
// outer
|
||||
[5, 0],
|
||||
[3, 9],
|
||||
[0, 10],
|
||||
[-5, 0],
|
||||
// inner
|
||||
[3, 2],
|
||||
[2, 7],
|
||||
[0, 7],
|
||||
[-3, 2]
|
||||
];
|
||||
|
||||
path_pts = bezier_curve(t_step,
|
||||
[p0, p1, p2, p3, p4]
|
||||
);
|
||||
|
||||
path_extrude(shape_pts, path_pts, triangles = "HOLLOW");
|
||||
|
||||

|
||||
|
||||
include <rotate_p.scad>;
|
||||
include <polysections.scad>;
|
||||
include <path_extrude.scad>;
|
||||
include <bezier_curve.scad>;
|
||||
|
||||
t_step = 0.05;
|
||||
|
||||
p0 = [0, 0, 0];
|
||||
p1 = [40, 60, 35];
|
||||
p2 = [-50, 70, 0];
|
||||
p3 = [20, 150, -5];
|
||||
p4 = [50, 50, -3];
|
||||
|
||||
shape_pts = [
|
||||
// outer
|
||||
[10, 0],
|
||||
[-5, 10],
|
||||
[-10, 0],
|
||||
// inner
|
||||
[7, 1],
|
||||
[-4, 8],
|
||||
[-7, 1]
|
||||
];
|
||||
|
||||
path_pts = bezier_curve(t_step,
|
||||
[p0, p1, p2, p3, p4]
|
||||
);
|
||||
|
||||
path_extrude(
|
||||
shape_pts,
|
||||
path_pts,
|
||||
triangles = [
|
||||
[0, 4, 3],
|
||||
[0, 1, 4],
|
||||
[1, 5, 4],
|
||||
[1, 2, 5],
|
||||
[2, 3, 5],
|
||||
[2, 0, 3]
|
||||
]
|
||||
);
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
|
@@ -5,26 +5,27 @@ Puts children along the given path. If there's only one child, it will put the c
|
||||
## Parameters
|
||||
|
||||
- `points` : The points along the path.
|
||||
- `angles` : Rotate before translate each child. If not given, rotate children automatically according to `points`.
|
||||
- `angles` : Rotate before translate each child. If not given, rotate children automatically according to `points` and `method`.
|
||||
- `twist` : If given, each child will be twisted before applying each element of `points` and `angles`.
|
||||
- `scale` : If given, each child will be scaled before applying each element of `points` and `angles`. It accepts a single value, `[sx, sy]` or `[sx, sy, sz]`.
|
||||
- `method` : Which method does `along_with` take to **guess** how to rotate children if `angles` is not specified? It accepts two value, `"AXIS_ANGLE"` (default) and `"EULER_ANGLE"`. See `path_extrude` for more information. **Since:** 1.3.
|
||||
|
||||
## Examples
|
||||
|
||||
include <along_with.scad>;
|
||||
include <circle_path.scad>;
|
||||
use <along_with.scad>;
|
||||
use <circle_path.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
||||
points = circle_path(radius = 50);
|
||||
|
||||
along_with(points)
|
||||
sphere(5, center = true);
|
||||
sphere(5);
|
||||
|
||||

|
||||
|
||||
include <along_with.scad>;
|
||||
include <circle_path.scad>;
|
||||
use <along_with.scad>;
|
||||
use <circle_path.scad>;
|
||||
|
||||
$fn = 24;
|
||||
|
||||
@@ -43,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,
|
||||
@@ -64,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() {
|
@@ -6,13 +6,14 @@ Creates an arc. You can pass a 2 element vector to define the central angle. Its
|
||||
|
||||
- `radius` : The radius of the circle.
|
||||
- `angle` : A single value or 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.
|
||||
- `width` : The width of the arc.
|
||||
- `width_mode` : The default value is `"LINE_CROSS"`. The arc line will move outward by `width / 2` and inward by `width / 2`. If it's `"LINE_OUTWARD"`, The arc line moves outward by `width`. The `"LINE_INWARD"` moves the arc line inward by `width`.
|
||||
- `$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 <arc.scad>;
|
||||
use <arc.scad>;
|
||||
|
||||
$fn = 24;
|
||||
arc(radius = 20, angle = [45, 290], width = 2);
|
||||
@@ -20,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");
|
||||
@@ -28,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,21 +11,21 @@ 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], width = 2);
|
||||
hull_polyline2d(points);
|
||||
points = arc_path(radius = 20, angle = [45, 290]);
|
||||
hull_polyline2d(points, width = 2);
|
||||
|
||||

|
||||
|
||||
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, width = 2);
|
||||
hull_polyline2d(points);
|
||||
points = arc_path(radius = 20, angle = 135);
|
||||
hull_polyline2d(points, width = 2);
|
||||
|
||||

|
||||
|
@@ -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,25 +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.
|
||||
|
||||
Dependencies: `rotate_p`, `archimedean_spiral`, `cross_sections`, `polysections`.
|
||||
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;
|
||||
@@ -52,6 +52,4 @@ The arc shape is smoother if the `frags` value is larger.
|
||||
|
||||

|
||||
|
||||
This module is especially useful when you want to create things such as [zentangle bracelet](https://www.thingiverse.com/thing:1569263).
|
||||
|
||||
[](https://www.thingiverse.com/thing:1569263)
|
||||
This module is especially useful when you want to create things such as [PNG to pen holder](https://www.thingiverse.com/thing:1589493).
|
36
docs/lib2x-bend_extrude.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# bend_extrude
|
||||
|
||||
The purpose of `bend_extrude` is to replace `bend` when you have a 2D shape. `bend_extrude` is faster and doesn't produce jagged edges.
|
||||
|
||||
**Since:** 1.3.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `size` : The size of a square which can contain the target shape.
|
||||
- `thickness` : The thinkness used to extrude the shape.
|
||||
- `angle` : The central angle of the arc shape. The radius of the arc is calculated automatically.
|
||||
- `frags` : Number of fragments. The target shape will be cut into `frags` fragments and recombined into an arc object. The default value is 24.
|
||||
|
||||
## Examples
|
||||
|
||||
The containing square of the target shape should be laid down on the x-y plane. For example.
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
||||
|
||||
%square(size = [x, y]);
|
||||
text("A");
|
||||
|
||||

|
||||
|
||||
Once you have the size of the containing square, you can use it as the `size` argument of the `bend_extrude` module.
|
||||
|
||||
use <bend_extrude.scad>;
|
||||
|
||||
x = 9.25;
|
||||
y = 9.55;
|
||||
|
||||
bend_extrude(size = [x, y], thickness = 1, angle = 270)
|
||||
text("A");
|
||||
|
||||

|
@@ -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;
|
@@ -2,8 +2,6 @@
|
||||
|
||||
Given a path, the `bezier_smooth` function uses bazier curves to smooth all corners. You can use it to create smooth lines or rounded shapes.
|
||||
|
||||
Dependencies: the `bezier_curve` function.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `path_pts` : A list of points represent the path.
|
||||
@@ -13,9 +11,8 @@ Dependencies: the `bezier_curve` function.
|
||||
|
||||
## 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;
|
||||
@@ -39,8 +36,7 @@ Dependencies: the `bezier_curve` function.
|
||||
|
||||

|
||||
|
||||
include <bezier_curve.scad>;
|
||||
include <bezier_smooth.scad>;
|
||||
use <bezier_smooth.scad>;
|
||||
|
||||
round_d = 10;
|
||||
|
@@ -2,8 +2,6 @@
|
||||
|
||||
Given a set of control points, the `bezier_surface` function returns points of the Bézier surface. Combined with the `function_grapher` module defined in my library, you can create a Bézier surface.
|
||||
|
||||
It depends on the `bezier_curve` function so remember to include bezier_curve.scad.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `t_step` : The distance between two points of the Bézier path.
|
||||
@@ -13,9 +11,8 @@ It depends on the `bezier_curve` function so remember to include bezier_curve.sc
|
||||
|
||||
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;
|
66
docs/lib2x-bijection_offset.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# bijection_offset
|
||||
|
||||
Move 2D outlines outward or inward by a given amount. Each point of the offsetted shape is paired with exactly one point of the original shape.
|
||||
|
||||
**Since:** 1.2.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `pts` : Points of a shape.
|
||||
- `d` : Amount to offset the shape. When negative, the shape is offset inwards.
|
||||
- `epsilon` : An upper bound on the relative error due to rounding in floating point arithmetic. Default to 0.0001. **Since:** 1.3.
|
||||
|
||||
## Examples
|
||||
|
||||
use <bijection_offset.scad>;
|
||||
|
||||
shape = [
|
||||
[15, 0],
|
||||
[15, 30],
|
||||
[0, 20],
|
||||
[-15, 40],
|
||||
[-15, 0]
|
||||
];
|
||||
|
||||
color("red") polygon(bijection_offset(shape, 3));
|
||||
color("orange") polygon(bijection_offset(shape, 2));
|
||||
color("yellow") polygon(bijection_offset(shape, 1));
|
||||
color("green") polygon(shape);
|
||||
color("blue") polygon(bijection_offset(shape, -1));
|
||||
color("indigo") polygon(bijection_offset(shape, -2));
|
||||
color("purple") polygon(bijection_offset(shape, -3));
|
||||
|
||||

|
||||
|
||||
use <bijection_offset.scad>;
|
||||
use <path_extrude.scad>;
|
||||
use <bezier_curve.scad>;
|
||||
|
||||
shape = [
|
||||
[5, 0],
|
||||
[3, 9],
|
||||
[0, 10],
|
||||
[-5, 0]
|
||||
];
|
||||
offsetted = bijection_offset(shape, 1);
|
||||
|
||||
offsetted2 = bijection_offset(shape, 2);
|
||||
offsetted3 = bijection_offset(shape, 3);
|
||||
|
||||
t_step = 0.05;
|
||||
|
||||
p0 = [0, 0, 0];
|
||||
p1 = [40, 60, 35];
|
||||
p2 = [-50, 70, 0];
|
||||
p3 = [20, 150, -35];
|
||||
p4 = [30, 50, -3];
|
||||
|
||||
path_pts = bezier_curve(t_step,
|
||||
[p0, p1, p2, p3, p4]
|
||||
);
|
||||
|
||||
path_extrude(concat(offsetted, shape), path_pts, "HOLLOW");
|
||||
path_extrude(concat(offsetted3, offsetted2), path_pts, "HOLLOW");
|
||||
|
||||

|
||||
|
@@ -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
|
||||
);
|
||||
|
||||

|
@@ -2,8 +2,6 @@
|
||||
|
||||
Given a 2D shape, points and angles along the path, this function will return all cross-sections. Combined with the `polysections` module, you can create a specific path extrusion.
|
||||
|
||||
It depends on the `rotate_p` function. Remember to include "rotate_p.scad".
|
||||
|
||||
## Parameters
|
||||
|
||||
- `shape_pts`: A list of points represent a shape. See the example below.
|
||||
@@ -14,10 +12,9 @@ It depends on the `rotate_p` function. Remember to include "rotate_p.scad".
|
||||
|
||||
## 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],
|
@@ -4,46 +4,42 @@ Uses spherical coordinate system to create a crystal ball.
|
||||
|
||||

|
||||
|
||||
Dependencies: `rotate_p`, `cross_sections`, `polysections`, `ring_extrude`, `shape_pie`.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `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]
|
@@ -2,8 +2,6 @@
|
||||
|
||||
Given a set of points `[x, y, f(x, y)]` where `f(x, y)` is a mathematics function, the `function_grapher` module can create the graph of `f(x, y)`.
|
||||
|
||||
It depends on the `line3d`, `polyline3d`, `hull_polyline3d` modules so you have to include "line3d.scad", "polyline3d.scad" and "hull_polyline3d.scad".
|
||||
|
||||
## Parameters
|
||||
|
||||
- `points` : A set of points `[x, y, f(x, y)]`. See examples below.
|
||||
@@ -14,10 +12,7 @@ It depends on the `line3d`, `polyline3d`, `hull_polyline3d` modules so you have
|
||||
|
||||
## 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]],
|
||||
@@ -32,10 +27,7 @@ It depends on the `line3d`, `polyline3d`, `hull_polyline3d` modules so you have
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
function f(x, y) =
|
||||
30 * (
|
||||
@@ -60,10 +52,7 @@ It depends on the `line3d`, `polyline3d`, `hull_polyline3d` modules so you have
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
function f(x, y) =
|
||||
30 * (
|
||||
@@ -89,10 +78,7 @@ It depends on the `line3d`, `polyline3d`, `hull_polyline3d` modules so you have
|
||||
|
||||

|
||||
|
||||
include <line3d.scad>;
|
||||
include <polyline3d.scad>;
|
||||
include <hull_polyline3d.scad>;
|
||||
include <function_grapher.scad>;
|
||||
use <function_grapher.scad>;
|
||||
|
||||
function f(x, y) =
|
||||
30 * (
|
@@ -4,8 +4,6 @@ Gets all points and angles on the path of a golden spiral based on Fibonacci num
|
||||
|
||||
It returns a vector of `[[x, y], angle]`.
|
||||
|
||||
Because of depending on `circle_path` and `rotate_p`, remember to include "circle_path.scad" and "rotate_p.scad".
|
||||
|
||||
## Parameters
|
||||
|
||||
- `from` : The nth Fibonacci number you wanna start from.
|
||||
@@ -15,9 +13,7 @@ Because of depending on `circle_path` and `rotate_p`, remember to include "circl
|
||||
|
||||
## Examples
|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
use <golden_spiral.scad>;
|
||||
|
||||
pts_angles = golden_spiral(
|
||||
from = 3,
|
||||
@@ -32,9 +28,7 @@ Because of depending on `circle_path` and `rotate_p`, remember to include "circl
|
||||
|
||||

|
||||
|
||||
include <circle_path.scad>;
|
||||
include <rotate_p.scad>;
|
||||
include <golden_spiral.scad>;
|
||||
use <golden_spiral.scad>;
|
||||
|
||||
pts_angles = golden_spiral(
|
||||
from = 5,
|
@@ -2,9 +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.
|
||||
|
||||
Dependencies: `circle_path`, `rotate_p`, `golden_spiral`, `cross_sections`, `polysections`.
|
||||
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
|
||||
|
||||
@@ -15,16 +13,11 @@ Dependencies: `circle_path`, `rotate_p`, `golden_spiral`, `cross_sections`, `pol
|
||||
- `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],
|
||||
@@ -45,12 +38,8 @@ Dependencies: `circle_path`, `rotate_p`, `golden_spiral`, `cross_sections`, `pol
|
||||
|
||||

|
||||
|
||||
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,12 +2,10 @@
|
||||
|
||||
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.
|
||||
|
||||
Dependencies: `helix`, `rotate_p`, `cross_sections`, `polysections`.
|
||||
|
||||
## Parameters
|
||||
|
||||
- `shape_pts` : A list of points represent a shape. See the example below.
|
||||
@@ -18,16 +16,12 @@ Dependencies: `helix`, `rotate_p`, `cross_sections`, `polysections`.
|
||||
- `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],
|
||||
@@ -49,11 +43,7 @@ Dependencies: `helix`, `rotate_p`, `cross_sections`, `polysections`.
|
||||
|
||||

|
||||
|
||||
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;
|
||||
|