Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
As a generate string to -> ASCII Binary (FeatureScript to generate QR )
Fda
Member Posts: 42 ✭✭
Hi, I'm trying to create a FeatureScript to generate QR as a solid body.


The question is:
As a generate -> ASCII -> Binary
https://cad.onshape.com/documents/c147851704bf76a3ee2c0a30/w/4febbbd4c01a9812f459fe10/e/e9ef4309e41a74f961e25983
I was inspired by this "OpenSCAD" code
https://ridercz.github.io/OpenSCAD-QR/
As a generate -> ASCII -> Binary
Hi, I'm trying to create a FeatureScript to generate QR as a solid body.
Is it an easy way to generate an ASCII Binary?
(Surely something easy lol)
const chrMap_Binary = {
'=' : "00111101" ,// chr(61)
'>' : "00111110" ,// chr(62)
'?' : "00111111" ,// chr(63)
'@' : "01000000" ,// chr(64)
'A' : "01000001" ,// chr(65)
'B' : "01000010" ,// chr(66)
'C' : "01000011" ,// chr(67)
'D' : "01000100" ,// chr(68)
'E' : "01000101" ,// chr(69)
'F' : "01000110" ,// chr(70)
'G' : "01000111" ,// chr(71)
'H' : "01001000" ,// chr(72)
'I' : "01001001" ,// chr(73)
'J' : "01001010" ,// chr(74)
'K' : "01001011" ,// chr(75)
'L' : "01001100" ,// chr(76)
'M' : "01001101" ,// chr(77)
'N' : "01001110" ,// chr(78)
'O' : "01001111" ,// chr(79)
'P' : "01010000" ,// chr(80)
'Q' : "01010001" ,// chr(81)
'R' : "01010010" ,// chr(82)
'S' : "01010011" ,// chr(83)
'T' : "01010100" ,// chr(84)
'U' : "01010101" ,// chr(85)
'V' : "01010110" ,// chr(86)
'W' : "01010111" ,// chr(87)
'X' : "01011000" ,// chr(88)
'Y' : "01011001" ,// chr(89)
'Z' : "01011010" ,// chr(90)
'[' : "01011011" ,// chr(91)
'\'' : "01011100" ,// chr(92)
']' : "01011101" ,// chr(93)
'^' : "01011110" // chr(94)
};
annotation { "Feature Type Name" : "QR" }
export const myFeature = defineFeature(function(context is Context, id is Id, definition is map)
precondition
{
// Define the parameters of the feature type
annotation { "Name" : "My String" }
definition.myString is string;
}
{ // Define the function's action
var chartt = splitIntoCharacters(definition.myString); //returns Characters<br>
???????????? T<b></b>he question is: ?????????????<br>
// front chartt
var qr_data = [[1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1],
[1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1],
[1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1]
];
for (var axis_x = 0; axis_x < mySizeStrign + 1; axis_x += 1)
{
if ((qr_data[axis_x ][axis_y ]) == (1)) // is true ?
{
fCuboid(context, id + ("cuboid1" ~ axis_x ), {
});https://cad.onshape.com/documents/c147851704bf76a3ee2c0a30/w/4febbbd4c01a9812f459fe10/e/e9ef4309e41a74f961e25983
I was inspired by this "OpenSCAD" code
https://ridercz.github.io/OpenSCAD-QR/
Tagged:
2
Answers
Here is an example that will do all characters to a number, including control and punctuation characters:
(Script was generated externally
const charToByte = { "\u0000" : 0, "\u0001" : 1, "\u0002" : 2, "\u0003" : 3, "\u0004" : 4, "\u0005" : 5, "\u0006" : 6, "\u0007" : 7, "\u0008" : 8, "\u0009" : 9, "\n" : 10, "\u000b" : 11, "\u000c" : 12, "\u000d" : 13, "\u000e" : 14, "\u000f" : 15, "\u0010" : 16, "\u0011" : 17, "\u0012" : 18, "\u0013" : 19, "\u0014" : 20, "\u0015" : 21, "\u0016" : 22, "\u0017" : 23, "\u0018" : 24, "\u0019" : 25, "\u001a" : 26, "\u001b" : 27, "\u001c" : 28, "\u001d" : 29, "\u001e" : 30, "\u001f" : 31, " " : 32, "!" : 33, "\"" : 34, "#" : 35, "$" : 36, "%" : 37, "&" : 38, "'" : 39, "(" : 40, ")" : 41, "*" : 42, "+" : 43, "," : 44, "-" : 45, "." : 46, "/" : 47, "0" : 48, "1" : 49, "2" : 50, "3" : 51, "4" : 52, "5" : 53, "6" : 54, "7" : 55, "8" : 56, "9" : 57, ":" : 58, ";" : 59, "<" : 60, "=" : 61, ">" : 62, "?" : 63, "@" : 64, "A" : 65, "B" : 66, "C" : 67, "D" : 68, "E" : 69, "F" : 70, "G" : 71, "H" : 72, "I" : 73, "J" : 74, "K" : 75, "L" : 76, "M" : 77, "N" : 78, "O" : 79, "P" : 80, "Q" : 81, "R" : 82, "S" : 83, "T" : 84, "U" : 85, "V" : 86, "W" : 87, "X" : 88, "Y" : 89, "Z" : 90, "[" : 91, "\\" : 92, "]" : 93, "^" : 94, "_" : 95, "`" : 96, "a" : 97, "b" : 98, "c" : 99, "d" : 100, "e" : 101, "f" : 102, "g" : 103, "h" : 104, "i" : 105, "j" : 106, "k" : 107, "l" : 108, "m" : 109, "n" : 110, "o" : 111, "p" : 112, "q" : 113, "r" : 114, "s" : 115, "t" : 116, "u" : 117, "v" : 118, "w" : 119, "x" : 120, "y" : 121, "z" : 122, "{" : 123, "|" : 124, "}" : 125, "~" : 126, "\u007f" : 127, "€" : 128, "" : 129, "‚" : 130, "ƒ" : 131, "„" : 132, "…" : 133, "†" : 134, "‡" : 135, "ˆ" : 136, "‰" : 137, "Š" : 138, "‹" : 139, "Œ" : 140, "" : 141, "Ž" : 142, "" : 143, "" : 144, "‘" : 145, "’" : 146, "“" : 147, "”" : 148, "•" : 149, "–" : 150, "—" : 151, "˜" : 152, "™" : 153, "š" : 154, "›" : 155, "œ" : 156, "" : 157, "ž" : 158, "Ÿ" : 159, " " : 160, "¡" : 161, "¢" : 162, "£" : 163, "¤" : 164, "¥" : 165, "¦" : 166, "§" : 167, "¨" : 168, "©" : 169, "ª" : 170, "«" : 171, "¬" : 172, "u00ad" : 173, "®" : 174, "¯" : 175, "°" : 176, "±" : 177, "²" : 178, "³" : 179, "´" : 180, "µ" : 181, "¶" : 182, "·" : 183, "¸" : 184, "¹" : 185, "º" : 186, "»" : 187, "¼" : 188, "½" : 189, "¾" : 190, "¿" : 191, "À" : 192, "Á" : 193, "Â" : 194, "Ã" : 195, "Ä" : 196, "Å" : 197, "Æ" : 198, "Ç" : 199, "È" : 200, "É" : 201, "Ê" : 202, "Ë" : 203, "Ì" : 204, "Í" : 205, "Î" : 206, "Ï" : 207, "Ð" : 208, "Ñ" : 209, "Ò" : 210, "Ó" : 211, "Ô" : 212, "Õ" : 213, "Ö" : 214, "×" : 215, "Ø" : 216, "Ù" : 217, "Ú" : 218, "Û" : 219, "Ü" : 220, "Ý" : 221, "Þ" : 222, "ß" : 223, "à" : 224, "á" : 225, "â" : 226, "ã" : 227, "ä" : 228, "å" : 229, "æ" : 230, "ç" : 231, "è" : 232, "é" : 233, "ê" : 234, "ë" : 235, "ì" : 236, "í" : 237, "î" : 238, "ï" : 239, "ð" : 240, "ñ" : 241, "ò" : 242, "ó" : 243, "ô" : 244, "õ" : 245, "ö" : 246, "÷" : 247, "ø" : 248, "ù" : 249, "ú" : 250, "û" : 251, "ü" : 252, "ý" : 253, "þ" : 254, "ÿ" : 255, };IR for AS/NZS 1100