Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Workflow for getting silkscreen from Altium in vector format?

eric_pestyeric_pesty Member Posts: 1,885 PRO
Part of our workflow for generating user documentation requires creating line drawings that include silkscreen on PCBAs but I'm struggling getting things imported. As a result we can't just use a decal as it won't show up in line drawings...

The main issue is with text, exporting the overlay layer seems to always export text as "text" and fonts don't translate.
I also tried starting from the GTO files but these create a million small segments for each letter so it won't even import in a sketch for larger boards.

Anyone have a workable workflow for this?

Best Answer

  • alnisalnis Member, Developers Posts: 452 EDU
    edited May 28 Answer ✓
    Here is a terrible, but visually half-functional approach (in my case, using KiCad instead of Altium, but presumably Altium should have the same functionality available)
    1. Export silkscreen as SVG from your ECAD system (in KiCad, I set to "black and white" color mode and "board area only"):

    2. Open SVG in Inkscape
    3. Resize SVG to content (trim whitespace): https://graphicdesign.stackexchange.com/a/21638
    4. Export to PNG (File > Export... > PNG), setting DPI high enough that the image will look good with readable text:

    5.  Insert into an Onshape drawing:
      a. Config of your 3D PCBA with just the board, using an unshaded view
      b. Uploaded PNG image of silkscreen
      c. Config of your 3D PCBA with just the components, shaded view, colors configured to white (e.g. using Part Color). Note: the white (well, grayish looking) shaded view for components is needed to obscure the parts of the silkscreen that are behind components, as faces in regular (unshaded) drawing views do not obscure images.
    6. Carefully resize PNG, align the views, possibly using Order: "Send to back"/"Bring to front" to get the order right
    7. The drawing looks so-so, which is better than nothing:


      It prints OK too (but look past the difference in connectors on the PCB; the nice spring lock ones were backordered so I had to use some janky headers) 
    Here is the document:
    https://cad.onshape.com/documents/d186979376894c2c6e0d0caa/v/25112a2a8a72ead07a02f9ef/e/9dde0504aa5b11ddc0ec6d24



    An idea for an improvement to the above workflow: rather than using the white shaded view + multiple views, presumably you could use some view of the model as a "cookie cutter" to subtract the parts of the silkscreen obscured by components within the PNG. That would make the drawing a little less convoluted, and you could have a proper unshaded view for the components. If the above result isn't good enough, let me know, and I can try to figure out a workflow for this.
    Get in touch: contact@alnis.dev | My personal site: https://alnis.dev
    @alnis is my personal account. @alnis_ptc is my official PTC account.

Answers

  • S1monS1mon Member Posts: 2,982 PRO
    What about showing a shaded view with decals on the drawings? Seems like the lightest weight way to do it.
  • eric_pestyeric_pesty Member Posts: 1,885 PRO
    S1mon said:
    What about showing a shaded view with decals on the drawings? Seems like the lightest weight way to do it.
    Unfortunately it's not for drawings, it's for user documentation and shaded views look like crap in a printed black and white document...

    Here's an example of what we want to achieve (in this case we created the silkscreen/outline in CAD first but it had to basically be re-done in Altium) so we'd like to do it the other way and not have to draw it twice!

  • alnisalnis Member, Developers Posts: 452 EDU
    edited May 28 Answer ✓
    Here is a terrible, but visually half-functional approach (in my case, using KiCad instead of Altium, but presumably Altium should have the same functionality available)
    1. Export silkscreen as SVG from your ECAD system (in KiCad, I set to "black and white" color mode and "board area only"):

    2. Open SVG in Inkscape
    3. Resize SVG to content (trim whitespace): https://graphicdesign.stackexchange.com/a/21638
    4. Export to PNG (File > Export... > PNG), setting DPI high enough that the image will look good with readable text:

    5.  Insert into an Onshape drawing:
      a. Config of your 3D PCBA with just the board, using an unshaded view
      b. Uploaded PNG image of silkscreen
      c. Config of your 3D PCBA with just the components, shaded view, colors configured to white (e.g. using Part Color). Note: the white (well, grayish looking) shaded view for components is needed to obscure the parts of the silkscreen that are behind components, as faces in regular (unshaded) drawing views do not obscure images.
    6. Carefully resize PNG, align the views, possibly using Order: "Send to back"/"Bring to front" to get the order right
    7. The drawing looks so-so, which is better than nothing:


      It prints OK too (but look past the difference in connectors on the PCB; the nice spring lock ones were backordered so I had to use some janky headers) 
    Here is the document:
    https://cad.onshape.com/documents/d186979376894c2c6e0d0caa/v/25112a2a8a72ead07a02f9ef/e/9dde0504aa5b11ddc0ec6d24



    An idea for an improvement to the above workflow: rather than using the white shaded view + multiple views, presumably you could use some view of the model as a "cookie cutter" to subtract the parts of the silkscreen obscured by components within the PNG. That would make the drawing a little less convoluted, and you could have a proper unshaded view for the components. If the above result isn't good enough, let me know, and I can try to figure out a workflow for this.
    Get in touch: contact@alnis.dev | My personal site: https://alnis.dev
    @alnis is my personal account. @alnis_ptc is my official PTC account.
  • eric_pestyeric_pesty Member Posts: 1,885 PRO
    edited May 28
    Thanks Alnis, that's an interesting workaround!
    Because we like to do things the hard way, we also like to "highlight" certain areas by changing line styles so that method wouldn't allow us to do that (and we also don't always do "head on" views, although we if that was the only downside we could probably work with that...).

    I ended up importing the "broken" DXF which still has all the line locations and manually re-created any text in CAD... It's not that bad as we don't need every designator and test pt etc...

    I then created a composite part with just the parts of the silkscreen I want and will have configs of the PCBA with either the decals or this depending on whether I'm doing a shaded or unshaded view



    Kind of amazing that it's 2024 and we don't have a workflow that can do this! I don't think even co-designer would allow this right as I'm pretty sure it also relies on "decals" for silkscreen...

    Love the release workflow in your title block by the way!
  • alnisalnis Member, Developers Posts: 452 EDU
    Ouch! That sounds like an annoying workflow. Would be great to have some more automation here. Maybe a way to associate fab data with the ECAD/MCAD module (silkscreens, traces, etc.) so it can be called out if needed on drawings?

    Thanks haha, this is for a physics research thing (wrapping up university) and I am really flying by the seat of my pants. "Hardware rich design" as they say.
    Get in touch: contact@alnis.dev | My personal site: https://alnis.dev
    @alnis is my personal account. @alnis_ptc is my official PTC account.
Sign In or Register to comment.