Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. 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 )

FdaFda Member Posts: 42 ✭✭
edited January 2020 in FeatureScript
Hi, I'm trying to create a FeatureScript to generate QR as a solid body.




The question is:
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:

Answers

  • MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 1,995 PRO
    I don't think this is currently possible

    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,
    };
    mb - draughtsman - also FS author: View FeatureScripts
Sign In or Register to comment.