-REVIEW TIME-
OK. here we go. i am picking up on the video posted to create the battery holder footprint and symbol.
Follow along by launching dex and having the video up and running in a browser
startup of dex :
- does not remember what monitor it was running on last. Pops up UNDER other windows open. This is annoying as you wait and wait for it to launch and it actually wants you to click something .. that window should be set to front and be application or even system modal. the licence window also pops up on a different monitor than where dex is launching (the splashscreen with the guy with the drill ). keep that on one screen please. my eyes are focused there and something pops up outside my field of view.
-norton throws another fit and slams on the firewall once the main DEX launches. This needs looking at. Don't blame norton. All my other software plays nice and does not have this problem.
Follow along video until 2:15 where we change units.
at 2:24 we enter the number 20
here is something i want : the capability to not have fidget with the units menu. give me the possibility to type in 20mm or 20mil or 2in. almost any cad or drawing program out there does that. it is counterproductive to go mouse over to do such a simple action. if no suffix is provided use current system.
For ergonomics : that indicator inches/millimeters is too far away from the data entry field. the current units should be displayed immediately after the entry field.
Now i am going to deviate a little bit from the video as i want to explore this pad manipulation a bit.
Entering 20 (provided we are set up in milimeters ) moves that pad to 20:0 (x:y). good
Let's say we make a 3 pad component. the pitch is 0.675 mm. this starts being annoying. i need a calculator for that.
So i would like to see expressions in the entry fields so i am able to do the following:
20 <enter> -> set to 20 whatever units we are in
20mm <enter> -> set to 20mm irrespective of what units we are in
-20mm <enter> -> set to negative 20 irrespective of what unis we are in
x + 20 <enter> -> add 20 units to current location of x
x + 20mm <enter> -> add 20 mm to current location of object irrespective of what units we are in.
x - 20mm <enter> -> subtract 20 mm from current location irrespective of units.
That way i can place pad on top of an existing one , select it and type x+0.675mm and done. this pad is now offset by 0.675mm
i have not found a way to set the grid to a step size. I may be missing something here but here is something i also want :
tell Dex i want an x size grid of 0.675mm and a y size grid of 2 mm. let's assume i make a 6 pin DFN package. pad pitch is 0.675 mm and row pitch is 2mm. by setting up the grid to these spacings and turning SNAP on. i can now very quickly place the pads where they need to be.
back to DEX
- now, we have two pads on the screen. let's size em . select BOTH pads (shift click ) and in the 'size' field type 2. What just happened ? we had one round and one square pad. they are now both square ? -BUG-
- click on the left pad and look at the numbers given ffor the origin. 0.007874 by 0.025591 in my case. we set the origin to the pad so it should read 0:0 it doesn't -BUG-
- so let's try to set BOTH pads to a Y origin of 1. select both pads (shift-click), click in the Y field. you get some really long numbers there ( -0.0000000030279 in my case ) -BUG- the coordinate system in dex is off. this needs fixing. Especially if i set origin on pad1: x and y should read 0 and 0 not some whacky numbers )
Type 2. only 1 pad moves. multiselect edit doesnt work right -BUG-
i want the capability to select a bunch of objects and tell dex : set them to this y or x coordinate ( simply to align them properly for example ) like moving a column of pads all to the same x spot , keeping y as is.
i also want to keep what i wrote earlier : in a multiselect being able to type x +20mm or x-0.675mm and other permutations.
these are basic coordinate operations that all CAD tools can do. DEX ? fix it please ?
another bug : sometimes selecting the second pad does not work. set pad 1 at 0:2 , pad 2 at 12.7:0
click pad 1 in the centre of the hole
now click pad 2 in the area before where the first vertical grid line passes through it. it will not always select. sometimes the part border is being selected sometimes the properties field changes to 'origin' instead of the pad properties. DEX has spatial selection problems -BUG- (note i am not specifically 'fishing' for things to nitpick on, this is just stuff that happens as i am prodding around. so i am reporting it ) play around by clicking pad 1 and then clicking pad2 and slightly shifting where on pad 2 you click. you will get all kinds of strange behavior.
now on the origin setting : i want a few options in there
- center of pin 1
- center of selected pin (i select pin first then right click origin and select 'center of selected pin')
- gravitational center of entire object ( this draws the smallest possible bounding box that encompasses all drawn objects and uses the center of the bounding box as the 0:0 location) . this is sometimes called the centroid ( which happens also to be the pick point for the pick and place machines )
- corner of outline ( let me click on what corner i want )
that way a can correctly set 0:0 on a pin or on the center of a footprint. this is important once we start placing parts on the pcb design to align them on interstitionals for the pick and place machine. we can set the placement grid to the stitch or a fraction of the stitch so we have an opening between parts leaving one or two routing channels. this simplifies the layout work tremendously.
typically part origins are centroid as it makes the pnp easier.
OK. enough playing with pads and coordinates. back to the video
at 3:00 we change U into B. why ? this should be driven from schematic. especially since at 3:01 we go to schematic and there it still reads U and needs changing there as well. it is the schematic that drives the designator labeling on the board. they need to be linked. there is no need to set this up in the pcb footprint editor. and if you want to do it there then the schematic symbol must stay in sync -bug-
more to follow ...
-breakfast gobbled down-
ok, we are still in building the PCB footprint
That white 'auto created' rectangle just has to go. first of all : not every part is a rectangle. there's round ones, l-shaped ones. and that battery holder itself is a circle with a protrusion. Second: that autogenerated courtyard has a slanted corner , presumably indicating where pin one is. in a PLCC package that pin does not sit in a corner. also for this battery it does not sit in a corner. I am fine with DEX generating such a thing but i need to be able to kill it if i don't want it.
there seems also to be a 'lock between the courtyard and the silkscreen. this also not correct. the courtyard is always LARGER than anything belonging to the part. In a PCB layout program the spatial rule checker goes by courtyard or by 3D object (if it knows how to do that). the base rule is : courtyards do not touch nor overlap. Courtyards are defined according to placement rules for the production machinery. that is what courtyards are for. to make sure the board is manufacturable. for example : certain connectors need a courtyard that is 5 mm outside of the outward pins because they will be selectively soldered by a machine. no parts should be within that area.
it may be possible to create your own courtyards ( arbitrary shape ) and own silkscreens ( arbitrary shape ) but i can;t figure it out. if it is possible :video please. you can use that battery holder. make the silkscreen roughly like the actual outline and the courtyard a bit larger than that.
right now the auto generated one us is useless. one of the things i was going to do is create correct PCB footprints for the sample project : without the ability to create courtyards and custom silkscreen that is not possible.
Back to video :
schematic symbol editing.
we got two pins and a rectangle still labeled U ( although we changed it in the PCB to B ) . it is illogical that this is not linked. like i said before it is the schematic that drives the PCB, not reverse.
we kill off the rectangle. and now we 'drag' a battery symbol that 'magically ' appears. what if i want a symbol that does not sit in this 'magical' pool. how do i draw one ? can i just select 'add' and start drawing shapes ? -edit- apparently yes. GREAT !
Now we have Designator (U) and something called 'Value'. can i add other strings linked to parameters ? For example for my resistors i want to show a field with tolerance and power , for capacitors i want a field showing working voltage and dielectric ( in case of ceramics ). that information must be stored in the library.
i can set both a name and a pin number. good. but : can i move the actual strings ?i found how to hide the 'dot' ( red circle) but the number is not where i want it to be. so i need to be able to move the number , leaving the electrical hotspot ( the red circle) where i set it ( even if it is invisible )
A neat thing in DEX : auto repeat last command . when adding a line , instead of having to mouse back to the menu to add another line , right-click and select 'auto repeat' and you can directly draw additional lines.
like it.
An annoyance : if you place text with auto repeat on you immediately get the edit box again. hitting <ESC> doesn't work. traditional windows behavior on such selection dialogues is <ESC> = cancel <enter> = ok. this is standard 'windows' behavior.
<ESC> and <ENTER> should always function as cancel / OK in dialogues.
i'm not going into the 3d stuff as STEP files are not handled. The prevalent industry exchange standard is STEP and/or IGES (3dcontentcentral and many manufacturers websites). So we need DEX to mesh with those formats. anything else requires just additional effort and additional tools we need to have and learn. I will create/translate some of the required models for the library i will build. ( Rhino can read and write almost any format out there including STL and XGL , so i can easily translate step to those formats. But not everyone has Rhino and at 900$ a licence it costs many times the cost of DEX, so STEP is mandatory ! )
we now have create a footprint and assigned a symbol to it.
Questions :
- how do i link one pcb footprint to multiple schematic symbols. and how do link 1 schematic symbol to multiple footprints ?
For example an 0805 resistor linked to two different schematic symbols ( one US and european symbol for example ) or one symbol defined as 1k and one defined as 2k2
other way around :
a 74ls00 , once in DIP package , once in SO package , once in TSSOp package. same schematic symbol : different footprint.
What about multipart symbols ? a 7400 is 4 NAND gates. i want to be able to place each gate as an indidual element and mark them U1A U1B U1C etc ... how do i create a multipart symbol ?
Good. at least i have a base now to start building a mini library the parts i want , the way i want them , to make a nice demo board.
-note- clicking help on 'courtyard' gives this : "You edit courtyards like editing keep pout regions" i keep on pouting ... ( i know i know, i pound my keyboard with ham-fists .. so i should not play spelling police here)