Push and Shove Development

News from developer. Also post info about new articles, tutorials, conferences, etc.
Message
Author
novarm44
DipTrace Lead Developer
Posts: 499
Joined: 09 Jun 2010, 10:24
Contact:

Push and Shove Development

#1 Post by novarm44 » 27 Sep 2023, 14:00

Hi All,
Currently I'm developing Push and Shove feature for DipTrace 5.0 and I will share videos of the development progress in this thread.
Comments and suggestions are welcome.
The first one is here:


Regards,
Stanislav
Attachments
PushAndShove_1.mp4
(2.35 MiB) Downloaded 2549 times

Roli
Posts: 7
Joined: 30 Aug 2023, 12:30

Re: Push and Shove Development

#2 Post by Roli » 27 Sep 2023, 18:15

Wow, looks good. I guess it's not so easy to develop this algorythmus.
I have a question. To you also plane sometimes to make a feature, that when I move a Trace, that I can only move till the next line or pad, so that I do not can make an error? Till now it show me whit the red rings how near I can move the trace to an other Trace or Pad. It's nice to see this Error real time, but it ynuld be nicer if I could't make an Error by moving Traces.

BR Roli

jimfouch
Posts: 5
Joined: 23 Sep 2014, 02:19

Re: Push and Shove Development

#3 Post by jimfouch » 27 Sep 2023, 23:24

This looks great!! :D

Will be very helpful when laying out a tight board.

If possible, I'd like the ability to lock down a traces and VIAs so they couldn't be pushed. But by default they would be pushable. Just a simple LOCK featured that could be turned on/off on specific traces.

novarm44
DipTrace Lead Developer
Posts: 499
Joined: 09 Jun 2010, 10:24
Contact:

Re: Push and Shove Development

#4 Post by novarm44 » 28 Sep 2023, 07:49

Roli wrote: 27 Sep 2023, 18:15 I have a question. To you also plane sometimes to make a feature, that when I move a Trace, that I can only move till the next line or pad, so that I do not can make an error? Till now it show me whit the red rings how near I can move the trace to an other Trace or Pad. It's nice to see this Error real time, but it ynuld be nicer if I could't make an Error by moving Traces.
We plan to make pushing traces/vias when you edit or move something. The core algorithm is almost done as you can see on the video above - we will include it into 5.0, then step-by-step add more features based on it. Probably also add limit editing option if there is no enough space to push objects.
jimfouch wrote: 27 Sep 2023, 23:24 If possible, I'd like the ability to lock down a traces and VIAs so they couldn't be pushed. But by default they would be pushable. Just a simple LOCK featured that could be turned on/off on specific traces.
Common lock feature already works in such way.

i_ionut
Posts: 12
Joined: 30 Apr 2015, 15:21

Re: Push and Shove Development

#5 Post by i_ionut » 28 Sep 2023, 10:31

Looks nice. Could you add an option to reroute multiple traces simultaneously (for example signal buses, differential pairs)? I saw this option in a video about Altium, and I think is time saving.

novarm44
DipTrace Lead Developer
Posts: 499
Joined: 09 Jun 2010, 10:24
Contact:

Re: Push and Shove Development

#6 Post by novarm44 » 28 Sep 2023, 12:32

i_ionut wrote: 28 Sep 2023, 10:31 Looks nice. Could you add an option to reroute multiple traces simultaneously (for example signal buses, differential pairs)? I saw this option in a video about Altium, and I think is time saving.
Differential pairs are already there since version 3.0, bus routing is in plans.

Tomg
Expert
Posts: 2061
Joined: 20 Jun 2015, 18:39

Re: Push and Shove Development

#7 Post by Tomg » 30 Sep 2023, 12:47

At 9 seconds in, the new trace has overlapped existing traces. Would it be possible to have the algorithm block the new trace from intruding into this area if the existing traces cannot be shoved? It would also help to have the new trace automatically bend around the immovable traces while obeying the spacing rules. Something that might help with DipTrace's push-and-shove speed (if it hasn't been done already) is to make use of multi-threading.
9si.png
9si.png (421.15 KiB) Viewed 53841 times
Tom

novarm44
DipTrace Lead Developer
Posts: 499
Joined: 09 Jun 2010, 10:24
Contact:

Re: Push and Shove Development

#8 Post by novarm44 » 30 Sep 2023, 16:46

Tomg wrote: 30 Sep 2023, 12:47 At 9 seconds in, the new trace has overlapped existing traces. Would it be possible to have the algorithm block the new trace from intruding into this area if the existing traces cannot be shoved? It would also help to have the new trace automatically bend around the immovable traces while obeying the spacing rules. Something that might help with DipTrace's push-and-shove speed (if it hasn't been done already) is to make use of multi-threading.
Yes, we will combine push and shove with existing real-time DRC and "Follow rules" options. The new trace bend around the immovable ones and other interactive routing improvements are in plans for 5.1, etc. development - we will discuss them here. Core algorithm is actually pushing traces/vias, other options are easier to make when you already have the main thing. Currently we need to complete and debug it and make 5.0 as soon as possible - research, attempts (third principle was successful) and development took much of my time (features for 5.0 from other programmers are already done).
Algorithm is designed to use multi-threading from the beginning, however it is much easier to debug with single thread, so video is also from single-thread run (there is a switch in source code and debug painting blinks in multi-thread). Also some things work in multi-thread only (working with unsuccessful routing and trying to re-route with different parameters without touching main thread).

p.s. Upgrade to 5.0 is free for all orders/upgrades since November 2022 (22 is correct).

Tomg
Expert
Posts: 2061
Joined: 20 Jun 2015, 18:39

Re: Push and Shove Development

#9 Post by Tomg » 30 Sep 2023, 21:49

Thank you for the progress update. Looking forward to the introduction of the next version's new features and bug fixes.
Tom

JEriksson
Posts: 1
Joined: 02 Oct 2023, 13:53

Re: Push and Shove Development

#10 Post by JEriksson » 02 Oct 2023, 14:29

Great news!
I have a question, how does it behave to follow a complex board contour?

Im doing very geometrically complicated flexible boards/cables, all board edges are splines which are converted to .dxf line-segments in SolidWorks and imported to Diptrace.
The traces have to follow the contours and it is basically impossible to route with Diptrace.
I have done it so far to just convert dxf line-segments to copper but I don't know how to convert them to traces and connect hundreds of lines if it even is possible.
Since the copper lines are overlapping, it works in the gerber files but I have lost all help from Diptrace, the ratlines doesn't recognize they are connected so I'm basically doing it by hand and hope I didn't miss a connection.
Attachments
spline.PNG
spline.PNG (61.58 KiB) Viewed 53662 times

Post Reply