8 Replies Latest reply on May 7, 2009 10:19 AM by artsiom.shchatsko

    What are Expedition internal units for dimensions?

    artsiom.shchatsko

      Could someone please tell me what units are used internally by Expedition for dimensions? I suspect it will be either 10^-9 m (nanometer) or 10^-12 m (picometer)?

        • 1. Re: What are Expedition internal units for dimensions?
          ed_smith

          They are nano-meters but why would you care? Is there a problem?

          • 2. Re: What are Expedition internal units for dimensions?
            artsiom.shchatsko

            I process ASCII HKP cell data in a script so it's good to know the format of the strings representing numbers (our units are MM)

            • 3. Re: What are Expedition internal units for dimensions?
              yu.yanfeng

              Your question seems what is the minium system unit support in 'Expeditionpcb. You can get anwser from the padstack editor.

              Yanfeng

              • 4. Re: What are Expedition internal units for dimensions?
                artsiom.shchatsko

                No, my question is about Expedition internal units. E.g. within user interface designer may enter sizes in millimeters, micrometers, inches, mils (thousandth). But Expedition converts it to internal units and then performs all calculations using internal units. To display data to user size in internal units is converted into user-specified units (millimeters, micrometers, inches, mils).

                 

                I assumed that internal units are integers because of two reasons:

                 

                1. Integer calculations are much faster than floating point. Taking into account that HKP format is not new then this must be emphasized even more.

                2. With integers you don't have problems with round-off as you have with floats (e.g. integer number 1 if converted to float will be something like 1.00000000000012345).

                 

                So Expedition internal units are nanometers (1E-9 m). This means that regular expression for dimension and coordinate strings in cell HKP would be something like (in Python): \A[0-9]+(?:\.[0-9]{1,9})?\Z

                • 5. Re: What are Expedition internal units for dimensions?
                  yu.yanfeng

                  Based on your reply, I think my guess is exactly right.

                  If you put attention to padstack editor, you should absolutely understand your question. Pleas try entry padsize as following:

                  um, 0.123456,0.12345,0.1234567

                  th,0,123 0.1234,0.12345

                  Expeditionpcb will do rounoff to you entry and from the roundoff, you will get the anwser there. That's why I suggest you check padstacks editor,

                  Yanfeng

                  • 6. Re: What are Expedition internal units for dimensions?
                    artsiom.shchatsko

                    Well, you can't rely on that 100%. What if programmers restricted length of the string designer can enter in those fields and internal units are much finer? Anyway, answer is given and appreciated

                    • 7. Re: What are Expedition internal units for dimensions?
                      yu.yanfeng

                      It based on 1nm basic unit, but smallest size should be 2nm and all  feature'size get roundoff based on 1nm to keep the size equals NX10nm wher N>=2.

                      If you entry 0.002499um,the roundoff value is 0.002um

                      If you entry 0.0025um, the roundoff value is 0.003um

                       

                      So for th unit, the smallest size should be 0.00157480315,but all feaure'size in th will get roundoff based on 0.00157480315 to keep size equals NX10 nm. However, Expeditionpcb automation API have a different roundoff method, so you can output size very small such as 0.12345678901234. I think it's common that different software programer have different roundoff.  I hope Mentor R/D realize this symptom.

                       

                      Yanfeng

                      • 8. Re: What are Expedition internal units for dimensions?
                        artsiom.shchatsko

                        Many thanks for this addition.

                         

                        As I'm processing cell data, not  actual pcb data so I'll also implement check that all features of cell is divisible by, let's say, 0.0001 mm. The general idea is to parse all Central Library data, build-up a Mentor-independent structure and perform automatic checks on components (starting with as simple as the right color for symbol pin, and ending with things like checking if standard smd cell is according to IPC-7351). What could be automated - must be automated .

                         

                        For now I parse HKP but if Mentor will actually remove ASCII export in the future then I'll need to switch to using their automation API.