DIY Layout Creator - software for easy drawing PCB, vero and perfboard layouts

Started by bancika, May 01, 2006, 08:00:21 PM

Previous topic - Next topic

aron

>How powerful is it?
It's probably ok approach if you need quick and simple apps but for larger projects I'm not sure if it can keep up. For DIYLC I need complex drawing routines, XML and stuff.


I think you would be amazed at how powerful it is. Really.

bancika

Quote from: s.r.v. on November 21, 2007, 05:04:37 PM
Thank you so much bancika!!!!!!!!!!!!!!!!!!!!!!!!! i cant wait for the flash version.

what flash version  :icon_question: :icon_rolleyes: but anyways, you're welcome  :icon_mrgreen:
The new version of DIY Layout Creator is out, check it out here


Papa_lazerous


kurtlives

His has probbly been asked before...

But why no symbol for a battery clip or adapter?
My DIY site:
www.pdfelectronics.com

bancika

The new version of DIY Layout Creator is out, check it out here


bancika

by the way, I have introduced some new concepts (like complete modularity, components are now defined in separate files) which means that I'll have to change file format. I hope that I'll be able to make effective conversion from old to new format but it's very unlikely for the other way round. Old version won't be able to open new files...but who cares, once new version is up there won't be reason to use the old one.
Cheers

Edit: I'm using anti-aliasing for drawing so it will look much better too. If it's bad for performance I can always turn it off (at least for design mode).
The new version of DIY Layout Creator is out, check it out here


s.r.v.

haha i meant java. any expected date for the new one? maybe a nice christmas present?  :icon_lol:

bancika

Well, can't promise anything but you'll have demo version before Christmas, that's for sure  :icon_mrgreen:
I'm developing component engine, it should be much better than what we have now :icon_idea:
Every component will be described in it's own XML file which means that anybody will be able to create new components.
That XML file will contain just about anything, what properties component should have (size, value, dimension, mouser part #, whatever)...something like this

<properties>
<property name="value" dataType="Text" displayText="Value" defaultValue="10"/>
<property name="units" dataType="Choice" displayText="Units" defaultValue="K">
  <choice>R</choice>
  <choice>K</choice>
  <choice>M</choice>
</property>
</properties>

then it will have the section that defines number of control points and their default position, for instance resistor needs two reference points - start and end. here's example

<points>
<point x="20*grid" y="20*grid"/>
<point x="30*grid" y="30*grid"/>
</points>

then it will have a section that describes to program how it should draw that component from scratch, it will contain all usual drawing routines that are needed for the task. that section will look something like this

<drawInstructions>
<draw object="line" x1="x1" y1="y1" x2="x2" y2="y2" color="000000" width="1"/>
</drawInstructions>

And here's the beauty of it, all parameters are mathematical expressions. For two-point based component you have variables x1, y1, x2 and y2 which represent point coordinates, there are all standard math functions. In my example above it should just draw line between two points where those points are (x1, y1) and (x2, y2), so "expressions" are only coordinates, but it can be anything really.
Here's the result when you click on "Test1" button (that's my component type I created for testing, it's only a line so far, but it will soon convert into copper trace :)).

I'm really happy how it works so far.
Cheers
The new version of DIY Layout Creator is out, check it out here


Electric_Death

Quote from: bancika on May 01, 2006, 08:00:21 PM
Hi,
I'm thinking about making piece of software for speeding up drawing perfboard and vero layouts. It would have library with components and user would drag&drop them over board. Also, it would have it's own format and ability to save to gif/jpg.
And of course, it would be freeware :)
Would this be useful, should I waste my time on this?
Thanks,
Branislav

Here's a thought.
How about a program that makes selecting parts as easy as CIRCUIT MAKER PRO and STUDENT CIRCUIT MAKER?
I go to work with PCB Express and all these other infamous programs and their interfaces are a complete mess.
Incredibly inefficient.

I just want to slap together a circuit Circuit Maker Pro style, click format PCB and an intuitive A.I. algorithm formats the best layout for my PCB along with several versions to choose from. I print it out and etch my board or, I send it off to a company which makes me some boards  and I assemble my circuits. Etching isn't rocket science but I'd rather just spend a few bucks and have a dozen boards printed for me.




bancika

I don't understand your point. Even with current version selecting components is as easy as it gets, at least I think so.
The new version of DIY Layout Creator is out, check it out here


Papa_lazerous

Quote from: bancika on November 22, 2007, 05:09:29 PM
I don't understand your point. Even with current version selecting components is as easy as it gets, at least I think so.

I agree its as easy as it gets, the only issue I ever found was the slowing down issues when boards got complicated and highly populated

bancika

That will hopefully be solved with this version. These days I'll post first demo here for volunteers to try :icon_mrgreen:

Basic framework is half way done, it can recognize components from library files, it can use them to display layout. So far it only supports straight lines but I'll add everything needed.
Also, drag&drop engine is also half way done, it will enable dragging whole component (not done yet) or dragging just control points, like end points of the resistor (done).
From now on, components will not have to snap to the grid. Dragging with Ctrl key will be without snap (I'm happy with how that works actually).
I really hope that I'll be able to make very nice and easy to use mouse functions, like multi-select, too.

For the last year or so I got many great comments for you guys, so I'll try to implement them as much as I can, thanks!

Cheers
The new version of DIY Layout Creator is out, check it out here


bancika

Good news folks: I have done some performance testing (I was worried about that the most) and the results are encouraging. I tried drawing 40 rectangles (soon to be resistors) with lines as leads with both anti-aliasing and transparency effects fully on (looks great by the way) and rendering time for the whole screen was always under 100mS regardless of number of components on the layout (the same for one and 40 components).
Btw, test machine is a mid-range server with 3.2GHz CPU and 2GB RAM. It has some crappy integrated graphic card and I think that Java knows how to take advantage of hardware acceleration, so with better graphic cards it must be even better. I'll test on my work machine with two processors and better graphic card on monday.
It's more than enough for comfortable work as it is now. Hopefully it won't get any slower, I don't plan to add any more visual effects.
Cheers
The new version of DIY Layout Creator is out, check it out here


bancika

And here's new screenshot. Engine is strong enough to make most of components, I made resistor, cap and perfboard (all defined in XML 100%) just to test it. I don't have icons for components yet so they all share crappy running guy :)

Also, with this engine it will be possible to have schematic elements as well as chassis so you'll be able to combine schematic, layout and chassis layout in the same page. All it takes is to define the look'n'feel of every component in separate XML files.
Cheers
The new version of DIY Layout Creator is out, check it out here


nisios

thanks for this very nice piece of software in the first place.
I have a small sugestion that might been pointed out already, but here it goes:
Make a Save As function.

bancika

Will do.
edit: it's already there, "Save Project As..." :icon_rolleyes:
The new version of DIY Layout Creator is out, check it out here


bancika

And new screenshot, I have finished mouse selection and drag&drop part of the app and I'm very happy with it.
Components can be selected and dragged individually or using rectangle select (you wanted this, didn't you), the same like files in windows explorer. After you select one or more items they can be dragged around with mouse.
Any thoughts?
Cheers

The new version of DIY Layout Creator is out, check it out here


scaesic

Sorry if these are already implemented, but how about an explorer esque

click, ctrl+click, ctrl+click etc to select multiple components? 

also, i know itd be hard work to incorperate a large library, but how about making several capacitor types?

like mylar, ceramic, metalised, electrolytic small, electrolytic med and electrolytic large? 

isnt so relevent for resistors, but how about measuring the average lead length of a resistor and having  a popup telling the user that the lead length is likely to be too long?could do the same for the diff cap types too?

also, the program could have "reccomended" hole spacings for components?

lastly, a node tester mode? i dunno if this was in the last one but if it was im not sure i ever got it to work. You click on a wire or pad/component lead, and it highlights all the other component leads/traces connected to it?

Finally, amazing work, really appreciate it. if you need testers once its ready il be more than willing.

bancika

Yeah, I was thinking about ctrl+click for multi-select too, I'll try to add it.
As for the library, as you might have read above, I'm making powerful component rendering engine that will be highly modular. Components will be defined in separate files and by just copying file to library folder it would be installed and ready to use. This is already established and works like a charm. Once I completely finish the engine I'll write component making tutorial and post it so anyone can make their own components. I will make online library and program will be able to automatically go to my site and check if there's something new available, download it and install for you. Also, all components will have properties that can affect rendering. Take vertical electrolyte for instance, it would have diameter as a property with default value set to X and user would be able to change it to whatever value (in whatever units). Component will "know" how to interpret entered diameter and based on that draw electrolyte with the right size.
As for resistor lead length, it's just a guesswork (and pain in the ass to do) and I don't think it's worth it. I'll make ruler so you'll be able to measure whatever you like (even under angle) and compare with resistors you actually have.
For the last thing, I'll think about that for future versions, this one will be drawing only app.
Thanks for suggestions,
Bane
The new version of DIY Layout Creator is out, check it out here


scaesic

awesome, the modular system sounds amazing.

I'd been thinking about ctrl+click overnight and why it woul be needed. I concluded it'd be really useful for deleting mutlpele selected components, but not much else. So it'd be a bonus but not essential.

i still think itd be really beneficial to have a reccomended hole spacing for each components, you'd just need to add it as an attribute in the modular system? although its not so relevent with resistors it can be essential for lots of capacitors with really short stiff leads.

once again, great work.