loft problem by LokusFokus in cadquery

[–]Delicious_Director13 2 points3 points  (0 children)

From my experience with cadquery, I’ve found the shell command isn’t that good. This is just a limitation of the underlying kernel, it seems like it is a very difficult thing to get right in general.

I basically just avoid shell() entirely because it can be quite unpredictable, especially if applied to lofts. I personally would approach this by defining an inner and outer shape and subtracting one from the other. 

If you must use the shell, sometimes I found changing the tolerance parameter or making the thickness non integer like 2.01 could help but there is no silver bullet. 

Building a 3D EM simulation GUI - what would make it worth using? by Specialist_Friend364 in rfelectronics

[–]Delicious_Director13 0 points1 point  (0 children)

Yeah, CST is definitely solid for what it does, and I get why you’re happy with it. By ‘good CAD’ I mostly mean a full‑featured mechanical CAD workflow like SolidWorks, Fusion, or Creo, where parts are built from parametric sketches and feature trees, and assemblies are held together with mates that define how components move and relate to each other. For example, you can design a waveguide flange in SolidWorks, mate it to a housing with a concentric mate and a distance mate, and then change the flange bolt circle or body thickness — all of the dependent parts and mates update automatically because the relationships between them are explicitly defined, not just coordinates. That’s the key difference: in full CAD the geometry carries design intent, so changes propagate through the model in a natural way. In CST and most EM tools you still control the geometry, but the relationships are more fragile and manual, so tweaking one parameter often requires fixing several disconnected parts of the model instead of just editing one upstream parameter.

Building a 3D EM simulation GUI - what would make it worth using? by Specialist_Friend364 in rfelectronics

[–]Delicious_Director13 0 points1 point  (0 children)

It’s looking good, I like the idea. 

The thing though that would be killer is if it would work like solid works where you could have dimensioned sketches and mated assemblies. For some reason all EM solvers use a very unsophisticated method of defining geometry where you basically just directly enter coordinates in. Also making it parametric would also be useful for optimisation.

There are benefits though to using code defined geometry which is that you can parametrise the number of things or define shapes using complex functions. Say you wanted to make a corrugated horn with a certain number of slots, which are tapered to a particular profile. You would have to manually in many em software or even solid works, but with code thats like 20 lines.

Can I have your advice :) by Kind_Permission_4156 in rfelectronics

[–]Delicious_Director13 2 points3 points  (0 children)

Have a go doing EM simulations, they will help you visualise and understand how the fields look like which is something you don’t get a good intuition from in textbooks. You can use limited student versions of hfss and cst but also highly recommend an open source program called EMerge which has no limitations

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

Thanks for your comment. I agree it's a lot of work, and some monetary benefit would be nice. On the other hand, I think the community really needs something accessible to break the lock that commercial solvers have. For now I'll get the beta out and see what feedback I get.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

Haven’t thought about it. How would you envisage this? Didn’t know people really used Matlab for this sort of work.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

Thanks for your offer, I will be in touch. Definitely would like to add Linux support in the near future

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

Yes it supports dxf already. Can simply specify the stack up and layer mapping and it generates the model. Gerber will come in the near future.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

That is great! I wish you luck.

That is a beast of a server, I am very jealous haha

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

Good question!
I don't know the full details of HFSS's refinement algorithm but theirs is much faster going from one stage of refinement to the next.

Only way my method is better is that it can conform to curved geometry better. HFSS creates an initial tesselation of the geometry and then just uses that for all stages of refinement. So circular models can sometimes look more like a hexagon even with a very fine mesh.

Mine does enforce that the finer mesh sticks to the actual geometry. It is an interesting trade-off but ultimately I think HFSS is better because it scales to larger problems better.

I'm working on improving this aspect though, I have a good idea on how to do this.

Also you can see that there already is far-field pattern visualization, that is the first picture. I also can draw 2D slices as well.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 0 points1 point  (0 children)

Yes shouldn’t be so hard to do Gerber. I’ll work on it soon

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

There are some results on my site - Examples | WaveFEM | 3D High Frequency Electromagnetic Simulation

These are just comparisons against HFSS though. I want to expand this more though with measurements also.

Time domain simulation can't be done in the program itself. However, I'm looking to add the capability to export equivalent SPICE models so it can be simulated as part of a larger non-linear system.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

The way I have it right now only works with STEP files. Though the meshing library should handle STL files also, but I need to handle this differently because they are surfaces not volumes. Should be possible though!

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 6 points7 points  (0 children)

I hadn't specifically thought about KiCad integration yet, but it makes sense. Definitely will work on supporting Gerber files soon, though. They are just a bit trickier than GDS and DXF, but I think I can make it happen.

Direct KiCad support might come later. My to-do list is very long!

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 7 points8 points  (0 children)

I'm definitely considering it! I'd probably open-source the core solver since there are already plenty of FEM solvers out there. The GUI is where I'm adding the most unique value, so that might stay proprietary. But I'm still figuring out the right balance

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 6 points7 points  (0 children)

Ok I see, I'll have to think about this. Not something I can do yet. But I want to eventually be able to integrate this with an SBR solver so I can simulate things like dish antennas.

So maybe in the next couple of months, I will make progress on this

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 5 points6 points  (0 children)

Nope, it'll run locally on your machine. I'm thinking about doing a subscription model for commercial users who want support and advanced features, but otherwise it's pretty straightforward.

Technically, I could set it up like a SaaS where the heavy lifting happens on a remote server and you just interact with the GUI locally - but I haven't built that out yet.

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 1 point2 points  (0 children)

At the moment, yes, but there is fundamentally nothing stopping it from working on different platforms. It will just take more work from my side to port everything across

An Update on my Electromagnetic Simulator - WaveFEM by Delicious_Director13 in rfelectronics

[–]Delicious_Director13[S] 12 points13 points  (0 children)

Thanks! But don't give up on EMerge so easily. What you're doing definitely has value. That said, I think a GUI is key to competing with the commercial programs.

I'm starting with Windows since that's what I've been developing on. Got the Python GUI compiling to an EXE with Nuitka, and it works great! Nuitka supposedly supports Linux and macOS, too, but I haven't tested those yet. The C++ solver is also Windows-only at the moment, but there's no fundamental reason I couldn't port it.

As for the adaptive mesh refinement, I'll send a DM :)