04-18-2011 07:36 PM
In an MS 11 schematic I have many large parts with many connections routed and need to move some to make room for more traces. I want to preserve the routing at each part and just lengthen a segment in the middle. So far I have found no non-painful way to do this. If I just move the part I loose the routes surrounding it. Or if I let it auto-reroute it makes a horrible mess.
If I put two junctions in the segment I want to stretch and delete it, then move one side, then re-route I'm left with a wire junction in the middle of the stretched segment that won't go away and sometimes acts as if it's not connected.
If I try to connect two wires that each have a junction at the end points it always leaves one there after connecting and acts funny about the connection. That has to be a bug in the UI.
If I sacrifice the routing around one part then I can route from the remaining junction to the part pin and it works, except I have to re-do half my routing (x 100's of wires).
Since I have 100's of wires I need to do this to and MS is so slow about placing wire junctions (even though I have a very fast computer) I wold like to place a column of junctions and then copy and paste them en-mass on the wires. MS does not allow this. If you try to paste more than one junction at a time it says 'Placing a junction over a wire is not allowed'.
Any ideas how to lengthen a trace segment between two parts that are already routed without loosing all my work? (other than re-do half of it one trace at a time)
Thanks.
04-26-2011 03:35 PM
dbur,
Here is a suggested work around that may help prevent you from redrawing many of the traces...especially in the situation where you need to nudge a part with a large number of connections to increase spacing. This will likely help you preserve parallel trace lines and also allow you to easily nudge traces out of the way to allow for additional room if needed...
1. First of all, I will assume that you will want to uncheck the 'Re-route after move' in the Part Drag section of Global Preferences (Options -> Global Preferences -> PCB Design (tab) -> Part Drag section). This will prevent Ultiboard for rerouting attached traces when you do a component move. Note that this setting may be appropriate for simple devices (2-5 connections) or devices with small connection lengths.
2. My assumption - after routing, you've realized that you need to move a component to allow for additional spacing between parts... (in this example I have drawn 2 25-pin header connectors and connected them in a 1-1 fashion).
3. After you've realized the approximate spacing you'll need (estimate how far you'd like to move the component). Now you'll need to break the midpoint of the connection at some point by deleting a small section of the trace as shown... (In this example assume I need to move the part to the far right hand side of the newly expand PCB).
4. Now (with the appropriate selection filters turned on to select traces, parts and vias if needed) select and drag the components and trace segments to the new positions. As shown the parallel traces are kept in tact (no rewiring is done since we unchecked the automatic rewiring feature). Also the rats nets still shows that the correct nets are assigned.
5. Now go to the correct layer and also select the 'Connection Machine' trace routing method.
6. Zoom into the area where the rats nest is shown for the disconnected trace routes. For each rats nest line, click on each line with the Connection Machine trace tool and an automatic trace will connect between the 2 traces that you manually deleted in step 3. If you have never used the Connection Machine routing method, give it some practice but you'll shortly find out that this will improve the overall speed of re-connecting these traces. You should find that you can easily complete the routes without much effort and if the spacing is ok you'll keep the parallel trace routes in tact. You may need to occasiionally 'nudge' some of the traces out of the way to provide proper room to allow the Connection Machine to adhere to trace-trace spacing constraints. You should be able to go through many connections in a few minutes or less (it took me about 45 seconds to re-connect and nudge the 24 connections I made). Note that some cleanup of the routing may be required post routing (but it will certainly be faster than trying to delete and then reroute all connections by hand).
7. Finally you should have additional spacing between the components with the benefit of preserving the original routing as clean as possible.
Now this is a super simplified situation and there are no crossing routes to contend with. You may have to lock any other nets that may be within the proximity of the part move so as to not accidently reposition those traces when you originally move the component/trace segments.
Let me know if this helps.
Regards,
Pat Noonan
National Instruments
04-26-2011 04:02 PM - edited 04-26-2011 04:02 PM
Actually, your explanation applies to UB.
My issue is for doing kind of the same thing with wiring in MS. Maybe I should have used the word wiring instead of traces.
I'll give your suggestion in step 6 about the connection machine some more attention though when I do this again in UB.
Thanks,
David B
04-26-2011 06:23 PM
04-27-2011 02:33 PM
dbur,
Probably the best thing to do in this situation - to preserve your wiring - is to hold the space bar down before moving the component (if the autowire parts on move is large than... checkbox is checked). When you move the part in this fashion - a junction will automatically be place at the termination point where the pin connection previously existed. Usually I set this to a very low setting (9) due to the reasons you have mentioned (you want to preserve the wires that you've already drawn on the schematic).
There is no automatic way of elongated the connection but as long as the junction connection exists, the remaining wire length (and the parallel wires / cornering) should remain intact.
Now in the case that you need to shorten the length of a wire by moving the part, you do need to manually add a junction connection as you've mentioned previously and then move the part closer, otherwise the existing drawn wire will not be preserved.
Lastly, as you probably already are aware if you would like to preserve the wiring with the part, you can draw a selection box around the entire grouping and move that grouping (as long as the entire wire segment is selected) and you should be able to preserve the wiring intact. For some reason this is not always the case, but it does work in most cases.
I have previously suggested that R&D add a 'fake' junction at each corner when moving parts or moving wires (which would in fact preserve the existing drawn wires - especially parallel lines/corners) but I am not sure if this is a planned implementation. There is also a 'clean up wire' feature in LabVIEW that at times would be useful in Multisim. 🙂
Regards,
Pat Noonan