How to do KiCad 3D model using FC Draft Array

I would like to do terminal block 3D models. But the blocks I will use have 4…10 pins.
My idea is to make a model of everything around one screw and then multiply it as many times as needed by using Draft WB Array.
I move in FC like a blind man.
I have tried to make these one screw part using Part WB because my previous experiences tell me that in Part WB I have less color problems then in Part Design WB. But even so my model lost colors at some walls even when using StepUp Simple Copy objects (and even doing before the Make Union or Make Compound).
Today I discovered that Part can have several Bodies :slight_smile:
So my idea is to use separate body for plastic, and separate for metal.
I have done simple Part containing two bodies (each with different color). Using StepUp Simple Copy I am able to get 3D models (I have tried it only for 2 screws but suppose it will work). But it would be simpler if I could use an Array.
So using Draft Array I created a row of my Parts. Colors are preserved. And now I have a problem to export it as 3D model. Using StepUp “Export 3D model” on my Array I get a series of errors (yesterday I got the last FC 0.19 I found and the current StepUp).
So according to my previous experiences I tried to first run at that Array the KSU “Make a Union” but I got “Select a Compound or a Part Design group or more then one Part object!” eroor. The same error I get when trying to run KSU “Make a Compound…”.

I have also tried to run KSU “Make a Union…” on my Part before doing the array.
Do anyone can tell me what are the new elements I get after “Make a Union…” I run it at my Part and I get Part_fd and Part_sp. I think there is no help function in FC explaining what is what. Under right-click I see no position suggesting that I will be able to get some info about this element.
I have done array from Part_sp and next time from Part_fp and in both cases I get to the same problem with exporting what I have to 3D model.
I have also done the same tries replacing “Make a Union…” with “Make a Compound…” with the same result.

So I am in such state that I can get in 3D window what I need but I can’t export it as a 3D model (I have tested it only at this simple model (each of my bodies have one Pad from one simple Sketch (a circle)).

I am not citing the errors as I suppose it is simple and fast to reproduce it, and may be during it some more experienced in it can just get the idea what I am doing wrong.

So 2 subjects:

  1. What are the _fd and _sp ?
  2. How to get 3D model from Array ?

Would you mind to post a FC sample file?

02 is before, 03 after making an Array.
Trying to export Array I first get standard question windows and then get some errors.

02_PartWith2Bodies.FCStd (16.9 KB)
03_Array.FCStd (19.0 KB)

Assuming that may be a problem is in being not continuous the other test - more like a terminal block will be:
102_Array.FCStd (18.2 KB)

May be I should switch back to FC 0.18.
I planned to be in 0.18 but when (Januarry) I asked at FC forum about colors I was told that someone could get what I won’t in 0.19 but not in 0.18. And I also get better results in 0.19.
But after you asked me to give a files when I was trying to get 03 from 02 I hang up FC. After reopening I got 03 with no problems. Then when trying to make an array in 102 I also hang up FC exactly in the same place, but the second try was OK. With my previous FC version I had no such problems.
I have installed yesterday:
FreeCAD_0.19.21775-Win-Conda_vc14.x-x86_64

Take a look at my posts - most are only a few minutes but this is a bit longer. Click the Red User Icon to see my other Kicad related 3D modeling post…

Regarding Draft - it’s not a Modeler, it’s a 2D (crude) drafter. Useful for several reasons but not for creating multiple models.

Recommend Using PartDesign (and Part, if needed for some Tools not available in PartDesign). Between these two, most anything can be modeled. Putting Text on a model does require using Draft’s ’ShapeString’ tool.

In PartDesign, make a Single item of what you’ll want multiples of. Then, use the Linear or Polar tool (screenshot).

Regarding FreeCad version: I’ve tested and used All of Them since v14. Until v19, none were stable enough but, v17 was the best until v19.21514 and is what I now use. I’m relatively pleased with it and StepUp works well with it. Perhaps it’s stuff I do that challenges FC because I do push the limits.

Anyway, making arrays of Features works after understanding the selection and spacing aspects of it.

As far multiples of Models - there are different ways to do it but, all are Cheating approaches.

Example: in the same single file, Duplicate or Copy the Part or Body of interest and Paste into the same file. Each one will have a ‘Placement’ with sub-field ‘Position’ field where you set the locations.

[EDIT] Added screenshot of old file with multiple Parts with Multiple Bodies… Except for the Box, Each positioned by drawing sketches on DatumPlanes positioned where I want them…

And, you can use Draft to create a shape (filled or unfilled) then, switch to Part workbench and Extrude (pad) them and can Boolean them into one Fused item (Fusion001 in last screenshot).

Screen Shot 2020-07-02 at 12.09.47 PM

I wouldn’t suggest it… I would stay on FC0.19 which is much further than 0.18 and near to be the next stable release.
Related to modelling there are many options in FC… one is to completely define your single object, and when you have fully defined it, make a union or a simple copy of it and finally multiply it (i.e. with copy paste and use the placement) and export the result with KSU.

Yes, I’ve tested it (only partially but supposed that enough). I have written in first post:

I was just searching the simpler solution.

It is exactly what I have done today to be able to write:

I spend some time to find your post when you were telling about 'Gizmo". And make my notes of all you have written there sentence by sentence. Then for the first time I have done a Body under the Part (and two Bodies under Part). Till today all my files had only one Part or one Body. I can’t spend enough time on FC to learn it enough. I will read your answer but tomorrow morning - now I’m too sleepy (1:50).

I recommend making the Female connector in the video.
Very basic sequence of:
-file setup
-making a simple housing
-making two pins
-compounding the Housing and Pin bodies into one compounded item
-coloring the Body Faces
-exporting via Stepup

For now, I recommend making individual pins instead of using Array.
Be sure to set visibility FALSE of the bodies after you compound them. Have only the Compounded result visible.
Then, - select a surface for common color and set the color using ‘Color Per Face’.
Now,Select all the faces for that common color.
Repeat for other body
Now, export via Stepup

Regarding ‘Color Per Face’, I added it to my PartDesign Toolbar. You can find it the Part workbench toolbar panel when customizing toolbar…

Screen Shot 2020-07-02 at 8.37.50 PM

I have read it also in that your post about Gizmo. But my decision to use Draft Array was previous and I didn’t verified it. I have seen (half year ago) at one video of designing IC body the use of it to multiply legs and … there were some other reasons that I assumed it could be used.

It was my first idea, but later verified negatively as I couldn’t set colors and asking at FC forum I ended with going to Part WB. Half year passed and I forgot everything I have read about Part Design (read only knowledge with 0 practice likes to fly away).

Thanks for that info. I considered to put text at something (2 months ago) and my conclusion was - I don’t even know how to start.

Thanks again. I just didn’t remembered they exists and overlooked them. Now I can start my whole experiments from beginning. What I wont is to have a single screw model (with colors) and to multiply it without need to color it once more. There are many faces in such model and if after multiplying it 2, 3, 4, 5, 6, 7, 8, 9 ,10 times I would need each time to color it (and the same for 3.5mm, 3.81mm, 5mm, 5.08mm) I prefer to find the way to not need to do it. I assume that time spend on it will make me just knowing how to do any model if I will need it in future.

With my Part with 2 Bodies (see 02… file) I was trying to check how can I position the red body relative to gray. I found that I can edit the Body placement - then (seen from bottom) the sketch circle left at the original position and only body was moved - can be. But later I found that instead of editing the body position I can also edit sketch position by editing the Attachment. My body moved as expected but the sketch circle also left where it was and I don’t understand it - so what I have edited by editing Attachment?
I would not need any moves if during Pad I could enter negative values for one of Lengths but I couldn’t (I suppose it was possible in one of previous versions, but may be I remember something from Extrude).

Here I really don’t understand about what you are speaking and what are the key buttons to use.
Till now I found the position modifications of body and of sketch, but I don’t understand why the sketch trace remains unmoved. I supposed that the Origin element when I add body (in tree view) will allow me for editing the origin position of the body to be used for everything inside (sketch, body) but I can’t edit there anything.
So what is that Origin for, and what I can do with it?

I was always using only Sketcher to create shapes, but may be for simple shapes it is ‘not the best way’, but lets me learn Sketcher.

Do you know what are these _fd and _sp elements added when I use KSU “Make a Union” and how to understand them. In Part WB when I do Make a Union of two Extrudes I get the Fusion containing those Extrudes and everything is clear.
But when I use KSU “Make a Union” instead of getting something containing elements I am unio-ing I get two extra elements (and one is grayed) - I don’t know what they are and generally what is going on here?
I have read KSU description several times but didn’t found any info about that.

First, I think you’re making it too difficult for yourself.
Upshot: Provide a little sketch/cartoon of what you want - this will help clarify.
You can post your FreeCad file here (Kicad seems to accept the upload). I’ll take a look at it and provide comment…

This may sound a bit rough…

When asking at a Forum about how to do something, it’s natural for different users to suggest doing ‘it’ the way they know how/like. Not everyone knows how to do ‘it’ with different tools (different workbenches).

Consider this Kicad forum and the various suggestions posted in effort to help someone - perhaps someone suggests using an existing connector model and hacking it. Another user suggests starting from the Footprint Icon that opens a dialog with different pads to start from. Another user suggests using the other Footprint Icon and adding pads using the little pad icon…

My suggestion of using PartDesign will enable the user to be able to go forward and use other software that real engineers use, such as ProEngineer, SolidWorks, Inventor, Autocad, Catia… Why? Because they are fundementally the same. It’s like Programming - the logic is the same, the only main differences between Java, C, Fortran, Basic, Pascal, Python…etc, is the Syntax.

Sticking with only Part or Draft is very, very limiting. If a new user is going to be confused no matter which tool they learn, it makes sense to me to learn the most robust tool. PartDesign is that tool. And, from there, it’s easier to learn Part and Draft (and realize their usefulness and limitations).

Regarding some comments in your last post…
• Forget about Arrays for now. They are useful but not for what you think you need it for. And, there are better ways to handle multiples of Features, Bodies, Parts…
• Colors - coloring is done differently for different reasons. There is NO button to press and get it all done from one press. Yes, you can write Python code and/or make Plugin’s and Macro’s in FreeCad but, not until after…
• Most of the time, I don’t use Stepup. I get what I need (including colors) by just exporting Step files. My video tuts show using Stepup because User think that’s what they need. Sure, it’s a good tool and I use it ‘When it makes sense’.

Regarding Placement, DatumPlanes… If you draw a Sketch on the Face of a surface and Pad it, you get the Feature you want. Great! But, if that feature changes, most likely you’ll need to Repair the sketch. If you place a DatumPlane on the Face of a surface and draw the Sketch on that DatumPlane Moving it/repairing is less trouble and provides more freedom and portability.

Both work and I do it both ways - it depends and, only experience yields the appropriate choice for the particular project.

After reading your posts, I’m reminded of first day of Calculus and integrating and differentiating 2x and x^2. And, the student who asked, “why not just use the tables in the Appendix.”

You’re trying to jump to the Appendix.

Below is a 6pin Terminal Block. I could have done it several different ways including using all the various workbenches/tools… Each way presents Challenges that provide lessons learned. The simplest is One Part with multiple bodies. The Housing is One Body, the Contacts/etc are individual Bodies made by Duplicating and Positioning each one. Yes, I could have made an Array of them but, didn’t.

In this user case, StepUp is just a tool to help in exporting STEP & WRL files in the best way to fit KiCAD needs (like the best practice).

  1. STEP (when possible) will be exported as unioned part, to avoid i.e. having a chip as a body and thousand pins when loaded in a 3D cad;
  2. WRL will be exported with material properties to obtain a better 3D rendering.

For example, in your screenshot, selecting the top Part container and clicking the ksu ‘union’ button, your model would be fused in a single one, ready for the exporting process. Then you could use the ksu ‘export 3D model to kicad’ button and get your desired result.
But obviously every user can do what fits best his/her needs and preferences.

I don’t think so. I wont to know the way I will be able to do any model I wont. And I think now I got it.
I am not able to do anything fast yet. After this conversation I have done a simple test and it looks it should work for me, but (as always) my brother came and gave me the task to be done (for yesterday).
There is a problem with 5.08 terminal blocks (as I know there is not that problem with others). It is the offset between the screw axis and soldering pin axis. During last 16 years we were using terminal blocks with this offset of 0.8mm. Now from some reasons I have selected the other parts, and they have this offset of 0.1mm (when searching I sow parts with offest from 0 to 0.9). Difference of 0.7mm is 35% of the screw radius so when you have the round opening for screwdriver it is noticeable.
I have never used any 3D. But as KiCad (I am slowly switching to it) have it I decided to have 3D for all elements I use. May be I will also have the 3D model of my case and will be able to check if mounted on PCB terminal blocks fit before ordering the production serie (we often start from production serie with no prototype serie). So I wont to have accurate models.
Producer of terminal blocks I have selected has the STP models of them, but with some (colour :slight_smile: ) error (plastic is two-colored). So I decided I will do the model myself learning at the same time. May be others will call it waste of time but I am thinking of it as a time spend on learning.

Will do it. But may be in few days.

After my first reading of FC it was my decision: Use PartDesign. But later problems with colors…

Three hours ago I have written a note that Arrays are not for it. But the “Create linear pattern…” also don’t works in my case (now I wont a serie of Part containing two Bodies). So I decided to do it as @maui has written - just do as many copies as needed.

According to my experiments if I have a Part containing two bodies (with body color specified) and I will do an KSU Union of thet Part then I can copy it with no problems with colors (didn’t checked for more complicated shape but I don’t expect problems)

I use to have at once the step and wrl file.

Ok. I understand (plus/minus).

In my conception I will have a housing and contacts for one screw and multiply them both.

After enough posts on this, I conclude saying:
• I’ll look at the Files you post
• Images below tell the story of ‘Some’ options/approaches - you’ll figure out their aspects
• They are meant as ‘Info’ only and only some produce fully colored files for Kicad. Some produce Mixed results… the last one shows Wrl in Kicad but, normally, a NON Stepup generated wrl needs scaling. I did not bother to scale it for this Kicad example.

However you do it and whatever way you want to do it is okay…

I’m not sure if you concluded to look at files I posted or at files I will post.

So here is the result of my work. I have made Part containing 2 Bodies (plastic + metal), and then I copied several times the Union made from that Part. 0.1mm offset could be ignored, but I have preserved it in my model.
50809.FCStd (297.3 KB)
I didn’t used Datum planes. I understand that if I will be using this file to modify it to have the models of other terminal blocks I could break the model (then I will be not able to repair it, you would probably had no problem with it) so I will be doing it very carefully to not break anything. I don’t understand how datum planes would help mi (in those modifications) but I don’t need to understand it now.
In PartDesign the Pad icon suggests that Pad can be not touching the sketch (and I suppose it worked that way in 0.18) but I could’t got it (Pad didn’t allowed me to write negative dimensions). So for example to not have the roller touching the XY plane I modified the position of sketch but I have read that (having that breaking in mind) I should avoid to place sketch at face so I always used absolute positioning.

And how it looks in KiCad preview:
50809

And how the original (Wurth) model looks:
50809W

I am surprised that their STP file rotated/moved in FC and exported by KSU gives the step with size close to mine (their 562k, my 555k) but wrl their is much smaller (their 165k, my 470k). As I understand that wrl gives mainly the view so mine having only one color should be smaller. May be their generates 3 sections of plastic and mine 9 sections. It is to far for me to look inside and trying to understand what and how.

For me the conclusion is:
I am now able to make a models I wont (I hope the file I have given can help someone who is at the same stage as I was yesterday).
If I will be building the whole model at once then file with one Body colored will do the job. If I will be doing something needing multiplication of one segment (with already defined colors) (terminal blocks are the only example I can imagine now) I will be using Part containing bodies.
I still don’t know how to put a text on my model, but got a info where to look for it. Thanks.

Good job! I’m pleased you followed my tips and succeeded!

I didn’t mean to confuse you…

Using DatumPlanes:
Can be very useful, especially if deleting a Part or Body that something was linked to.

Choices - Example (Video shows the last choice):
• Can Sketch on a Face (you know that)
• Can Select a Face and put the DatumPlane on it and create sketch on that DatumPlane. If you delete the Face, the link will Break!
• Can place the DatumPlane at the same position (x,y,x) of the Face and create the sketch on DatumPlane. Then, if deleting the Face/body, the datumplane remains in place with the sketch. Not Broken. It also makes the Body/Part portable without burden of invisible links…

Note: You can use View>Appearance to change color of a Body. Getting the final output step file to have the colors of different bodies can be tricky - it depends on how the model features were made and how it’s Booleaned. Something to consider and play around with. It can save having to color Faces…

Lastly, Text: Though a powerful tool because of ability to do on curves surfaces, in it’s general use, placing it is Funky. Basically, Select the surface, place a ShapeString (in Part wb, the icon with yellow ‘S’). Enter your text. Then, go back to PartDesign and Pad it.

[EDIT] followup re your comment, below:

• To pad Negative direction, click the little box, ‘Reverse’
• Things can touch. But, ‘Generally’, you can NOT pad into space. Depends on what/how you do it.

datumplane.mov

It is not the question of reverse. I’m sure that about half year ago I did Pad or Extrude with two dimensions. When I entered one of them negative I got element not touching its sketch. I had only installed 0.18, and 0.19.19678 and 0.19.21775 so I suppose it was in one of them.

I’m not suggesting you do this - it’s sort of a standard routine I use when testing stuff. I make a spreadsheet with the Tools, Workbenches… etc. Make some basic shapes and test all the Tools and panels to learn what they do and how “I” can use them in my projects.

Regarding your comment below:

Screenshots show V19 and example Padding one direction using the Reverse checkbox. Sketch was drawn on Top surface.
Other example shows Two-Dimension Padding. Software assumes they are opposite directions.

[EDIT] If you Padded it, it was padded from a sketch or from a face (yes, you can pad a face). You can’t pad any other way that I know of… You can set Negative values for Placements/Positions but not for padding.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.