discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Memory limits?

HW
Harvey white
Sun, Jul 14, 2024 9:43 PM

As you see, I got that solved with help, but I'm rewriting how the board
is processed to go better with the nopSCADlib.

However, this is what the program produces.

Thanks

Harvey

On 7/14/2024 3:02 AM, Rogier Wolff via Discuss wrote:

On Sat, Jul 13, 2024 at 10:24:22AM -0400, Harvey white via Discuss wrote:

 I’d love to give you the source files, but it’s an entire project
 with subdirectories, referring to other libraries of parts I’ve
 designed. Since I think it’s a memory limit, a partial file would
 not help all that much.

How many parts are there? Eagle has a board-stats ULP. Then we know
how many parts we need to "simulate" to try and reproduce this.

How about you put say a resistor, led, and an sot23 transistor in a
schematic, switch-to-board, place them compactly, in schematic view
load another design, but DO NOT load the board. Now back in board
save-as with a new name, and then copy-paste your three components.
select everything, repeat doubling the number of components until
you've filled your allowed design area. Now run it through your
rendering pipeline.  Now there are only three models that need to be
included.

OK. F*** it. I did that for you. Attached is a board with 192 instances
of a resistor-cap-sot23. Does this show the problem?

Roger.

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

As you see, I got that solved with help, but I'm rewriting how the board is processed to go better with the nopSCADlib. However, this is what the program produces. Thanks Harvey On 7/14/2024 3:02 AM, Rogier Wolff via Discuss wrote: > On Sat, Jul 13, 2024 at 10:24:22AM -0400, Harvey white via Discuss wrote: > >> 8. >> >> I’d love to give you the source files, but it’s an entire project >> with subdirectories, referring to other libraries of parts I’ve >> designed. Since I think it’s a memory limit, a partial file would >> not help all that much. > How many parts are there? Eagle has a board-stats ULP. Then we know > how many parts we need to "simulate" to try and reproduce this. > > How about you put say a resistor, led, and an sot23 transistor in a > schematic, switch-to-board, place them compactly, in schematic view > load another design, but DO NOT load the board. Now back in board > save-as with a new name, and then copy-paste your three components. > select everything, repeat doubling the number of components until > you've filled your allowed design area. Now run it through your > rendering pipeline. Now there are only three models that need to be > included. > > OK. F*** it. I did that for you. Attached is a board with 192 instances > of a resistor-cap-sot23. Does this show the problem? > > Roger. > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
NH
nop head
Sun, Jul 14, 2024 10:09 PM

BTW it is NopSCADlib. The case needs to be correct on Linux. On Windows you
get away with it but it can cause OpenSCAD to duplicate file dependencies
if it sees more than one spelling.

When rotating around z you can just use a single parameter. E.g. rotate(90)
is the same as rotate([0,0,90]).

The PCB I showed above was made with a Python script from Kicad files but
it was a hack and not general enough to publish.

On Sun, 14 Jul 2024 at 22:43, Harvey white via Discuss <
discuss@lists.openscad.org> wrote:

As you see, I got that solved with help, but I'm rewriting how the board
is processed to go better with the nopSCADlib.

However, this is what the program produces.

Thanks

Harvey

On 7/14/2024 3:02 AM, Rogier Wolff via Discuss wrote:

On Sat, Jul 13, 2024 at 10:24:22AM -0400, Harvey white via Discuss wrote:

 I’d love to give you the source files, but it’s an entire project
 with subdirectories, referring to other libraries of parts I’ve
 designed. Since I think it’s a memory limit, a partial file would
 not help all that much.

How many parts are there? Eagle has a board-stats ULP. Then we know
how many parts we need to "simulate" to try and reproduce this.

How about you put say a resistor, led, and an sot23 transistor in a
schematic, switch-to-board, place them compactly, in schematic view
load another design, but DO NOT load the board. Now back in board
save-as with a new name, and then copy-paste your three components.
select everything, repeat doubling the number of components until
you've filled your allowed design area. Now run it through your
rendering pipeline.  Now there are only three models that need to be
included.

OK. F*** it. I did that for you. Attached is a board with 192 instances
of a resistor-cap-sot23. Does this show the problem?

   Roger.

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

BTW it is NopSCADlib. The case needs to be correct on Linux. On Windows you get away with it but it can cause OpenSCAD to duplicate file dependencies if it sees more than one spelling. When rotating around z you can just use a single parameter. E.g. rotate(90) is the same as rotate([0,0,90]). The PCB I showed above was made with a Python script from Kicad files but it was a hack and not general enough to publish. On Sun, 14 Jul 2024 at 22:43, Harvey white via Discuss < discuss@lists.openscad.org> wrote: > As you see, I got that solved with help, but I'm rewriting how the board > is processed to go better with the nopSCADlib. > > However, this is what the program produces. > > Thanks > > Harvey > > > On 7/14/2024 3:02 AM, Rogier Wolff via Discuss wrote: > > On Sat, Jul 13, 2024 at 10:24:22AM -0400, Harvey white via Discuss wrote: > > > >> 8. > >> > >> I’d love to give you the source files, but it’s an entire project > >> with subdirectories, referring to other libraries of parts I’ve > >> designed. Since I think it’s a memory limit, a partial file would > >> not help all that much. > > How many parts are there? Eagle has a board-stats ULP. Then we know > > how many parts we need to "simulate" to try and reproduce this. > > > > How about you put say a resistor, led, and an sot23 transistor in a > > schematic, switch-to-board, place them compactly, in schematic view > > load another design, but DO NOT load the board. Now back in board > > save-as with a new name, and then copy-paste your three components. > > select everything, repeat doubling the number of components until > > you've filled your allowed design area. Now run it through your > > rendering pipeline. Now there are only three models that need to be > > included. > > > > OK. F*** it. I did that for you. Attached is a board with 192 instances > > of a resistor-cap-sot23. Does this show the problem? > > > > Roger. > > > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
HW
Harvey white
Sun, Jul 14, 2024 10:32 PM

Ah, well, I'm using windows until Micro$oft irritates me enough to
change things.  Point taken, though, I'll fix it in the program.

the code makes use of template type of style, depending on where the
parameters come from.  One set comes from the board file, the other is
added (as needed) to make the part behave properly.  The reason for that
is that with a template style implementation, I can program the C++
after I look at the placement in OpenSCAD. Sometimes stuff gets added as
I need it.  It makes it easier to think of things if the code follows a
predictable pattern (for me).

The program may get released to the wild if there's a need for it, but I
need to make sure it works well enough to do so.

Harvey

On 7/14/2024 6:09 PM, nop head via Discuss wrote:

BTW it is NopSCADlib. The case needs to be correct on Linux. On
Windows you get away with it but it can cause OpenSCAD to duplicate
file dependencies if it sees more than one spelling.

When rotating around z you can just use a single parameter. E.g.
rotate(90) is the same as rotate([0,0,90]).

The PCB I showed above was made with a Python script from Kicad files
but it was a hack and not general enough to publish.

On Sun, 14 Jul 2024 at 22:43, Harvey white via Discuss
discuss@lists.openscad.org wrote:

 As you see, I got that solved with help, but I'm rewriting how the
 board
 is processed to go better with the nopSCADlib.

 However, this is what the program produces.

 Thanks

 Harvey


 On 7/14/2024 3:02 AM, Rogier Wolff via Discuss wrote:

On Sat, Jul 13, 2024 at 10:24:22AM -0400, Harvey white via

 Discuss wrote:

     I’d love to give you the source files, but it’s an entire

 project

     with subdirectories, referring to other libraries of parts I’ve
     designed. Since I think it’s a memory limit, a partial file

 would

     not help all that much.

How many parts are there? Eagle has a board-stats ULP. Then we know
how many parts we need to "simulate" to try and reproduce this.

How about you put say a resistor, led, and an sot23 transistor in a
schematic, switch-to-board, place them compactly, in schematic view
load another design, but DO NOT load the board. Now back in board
save-as with a new name, and then copy-paste your three components.
select everything, repeat doubling the number of components until
you've filled your allowed design area. Now run it through your
rendering pipeline.  Now there are only three models that need to be
included.

OK. F*** it. I did that for you. Attached is a board with 192

 instances

of a resistor-cap-sot23. Does this show the problem?

       Roger.


OpenSCAD mailing list
To unsubscribe send an email to

 discuss-leave@lists.openscad.org_______________________________________________
 OpenSCAD mailing list
 To unsubscribe send an email to discuss-leave@lists.openscad.org

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Ah, well, I'm using windows until Micro$oft irritates me enough to change things.  Point taken, though, I'll fix it in the program. the code makes use of template type of style, depending on where the parameters come from.  One set comes from the board file, the other is added (as needed) to make the part behave properly.  The reason for that is that with a template style implementation, I can program the C++ after I look at the placement in OpenSCAD. Sometimes stuff gets added as I need it.  It makes it easier to think of things if the code follows a predictable pattern (for me). The program may get released to the wild if there's a need for it, but I need to make sure it works well enough to do so. Harvey On 7/14/2024 6:09 PM, nop head via Discuss wrote: > BTW it is NopSCADlib. The case needs to be correct on Linux. On > Windows you get away with it but it can cause OpenSCAD to duplicate > file dependencies if it sees more than one spelling. > > When rotating around z you can just use a single parameter. E.g. > rotate(90) is the same as rotate([0,0,90]). > > The PCB I showed above was made with a Python script from Kicad files > but it was a hack and not general enough to publish. > > On Sun, 14 Jul 2024 at 22:43, Harvey white via Discuss > <discuss@lists.openscad.org> wrote: > > As you see, I got that solved with help, but I'm rewriting how the > board > is processed to go better with the nopSCADlib. > > However, this is what the program produces. > > Thanks > > Harvey > > > On 7/14/2024 3:02 AM, Rogier Wolff via Discuss wrote: > > On Sat, Jul 13, 2024 at 10:24:22AM -0400, Harvey white via > Discuss wrote: > > > >> 8. > >> > >>     I’d love to give you the source files, but it’s an entire > project > >>     with subdirectories, referring to other libraries of parts I’ve > >>     designed. Since I think it’s a memory limit, a partial file > would > >>     not help all that much. > > How many parts are there? Eagle has a board-stats ULP. Then we know > > how many parts we need to "simulate" to try and reproduce this. > > > > How about you put say a resistor, led, and an sot23 transistor in a > > schematic, switch-to-board, place them compactly, in schematic view > > load another design, but DO NOT load the board. Now back in board > > save-as with a new name, and then copy-paste your three components. > > select everything, repeat doubling the number of components until > > you've filled your allowed design area. Now run it through your > > rendering pipeline.  Now there are only three models that need to be > > included. > > > > OK. F*** it. I did that for you. Attached is a board with 192 > instances > > of a resistor-cap-sot23. Does this show the problem? > > > >       Roger. > > > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to > discuss-leave@lists.openscad.org_______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
M
madyn@dragonworks.info
Tue, Jul 16, 2024 3:06 PM

OK, replying to myself as an update:

Board shape is properly copied with a polygon.  Had to figure out exactly how the radius works, the center coordinates need to be adjusted, but it works differently for each quadrant of the board. (and also if the board tends to be drawn CW or CCW, I think it’s an EAGLE thing).  Quick hint, overlay with a square board (cube) of the appropriate size and you can see what’s missing.

This gives a question to be thrown on the pile.  Where is there a method (in the board description) that handles things on the milling layer?  In my case I need a large circular cutout for a ring light.  I can do it outside the board macro with a difference, but that doesn’t seem very elegant.  Same thing for adding parts that may or may not be modeled within NopSCADlib.

Oh, and as a matter of note on this program, parts are given in an absolute location without negative offsets, reason is that the coordinates are already available and don’t need further processing.

I have a few parts descriptions done within the confines of the NopSCADlib.  Where should those be submitted?

Harvey

OK, replying to myself as an update: Board shape is properly copied with a polygon. Had to figure out exactly how the radius works, the center coordinates need to be adjusted, but it works differently for each quadrant of the board. (and also if the board tends to be drawn CW or CCW, I think it’s an EAGLE thing). Quick hint, overlay with a square board (cube) of the appropriate size and you can see what’s missing. This gives a question to be thrown on the pile. Where is there a method (in the board description) that handles things on the milling layer? In my case I need a large circular cutout for a ring light. I can do it outside the board macro with a difference, but that doesn’t seem very elegant. Same thing for adding parts that may or may not be modeled within NopSCADlib. Oh, and as a matter of note on this program, parts are given in an absolute location without negative offsets, reason is that the coordinates are already available and don’t need further processing. I have a few parts descriptions done within the confines of the NopSCADlib. Where should those be submitted? Harvey
NH
nop head
Tue, Jul 16, 2024 10:42 PM

On Tue, 16 Jul 2024 at 16:07, madyn--- via Discuss <
discuss@lists.openscad.org> wrote:

OK, replying to myself as an update:

Board shape is properly copied with a polygon. Had to figure out exactly
how the radius works, the center coordinates need to be adjusted, but it
works differently for each quadrant of the board. (and also if the board
tends to be drawn CW or CCW, I think it’s an EAGLE thing). Quick hint,
overlay with a square board (cube) of the appropriate size and you can see
what’s missing.

This gives a question to be thrown on the pile. Where is there a method
(in the board description) that handles things on the milling layer? In my
case I need a large circular cutout for a ring light. I can do it outside
the board macro with a difference, but that doesn’t seem very elegant. Same
thing for adding parts that may or may not be modeled within NopSCADlib.

There is currently no support for milling as I have never modelled a board
with milled cutouts. It would be easy to add a list of polygons to be
subtracted as an extra property.

There is no way to add parts that are not modelled in NopSCADlib other than
placing them manually outside of the PCB definition. I add new
components when I need them and a few people have submitted pull requests
with parts they use.

Oh, and as a matter of note on this program, parts are given in an
absolute location without negative offsets, reason is that the coordinates
are already available and don’t need further processing.

Kicad parts placement coordinates use pin 1 as the origin of the part but
NopSCADlib use the centre of the part as the origin, so my Python script
had lots of offsets in it.

I have a few parts descriptions done within the confines of the
NopSCADlib. Where should those be submitted?

They should be submitted as a pull request on GitHub.

Harvey


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

On Tue, 16 Jul 2024 at 16:07, madyn--- via Discuss < discuss@lists.openscad.org> wrote: > OK, replying to myself as an update: > > Board shape is properly copied with a polygon. Had to figure out exactly > how the radius works, the center coordinates need to be adjusted, but it > works differently for each quadrant of the board. (and also if the board > tends to be drawn CW or CCW, I think it’s an EAGLE thing). Quick hint, > overlay with a square board (cube) of the appropriate size and you can see > what’s missing. > > This gives a question to be thrown on the pile. Where is there a method > (in the board description) that handles things on the milling layer? In my > case I need a large circular cutout for a ring light. I can do it outside > the board macro with a difference, but that doesn’t seem very elegant. Same > thing for adding parts that may or may not be modeled within NopSCADlib. > There is currently no support for milling as I have never modelled a board with milled cutouts. It would be easy to add a list of polygons to be subtracted as an extra property. There is no way to add parts that are not modelled in NopSCADlib other than placing them manually outside of the PCB definition. I add new components when I need them and a few people have submitted pull requests with parts they use. > Oh, and as a matter of note on this program, parts are given in an > absolute location without negative offsets, reason is that the coordinates > are already available and don’t need further processing. > Kicad parts placement coordinates use pin 1 as the origin of the part but NopSCADlib use the centre of the part as the origin, so my Python script had lots of offsets in it. > I have a few parts descriptions done within the confines of the > NopSCADlib. Where should those be submitted? > They should be submitted as a pull request on GitHub. > Harvey > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >