Shaper Origin SVG Export

@Eric_Goossen @Peter_v_Stackelberg I just pushed V0.2.3 of TunaHalf to the package manager. It doesn’t fix this problem but should give me more information about it. Can you please update, and then send me a new report when you get the error?

To update

  1. Click rhino://package/search?name=tunahalf
  2. Click Update (or Install, if you haven’t already installed)

Please copy and paste the text below, and post the error and your model at
https://discourse.mcneel.com/t/shaper-origin-svg-export/

System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei TunaHalf.FeatureDetection.DetectOuterBoundary(Brep brep)
bei TunaHalf.FeatureDetection.DetectFeatures(Brep b, List1& boundaries, List1& pockets, List1& holes, List1& pocket_depths)
bei TunaHalf.ShaperOriginCommand.RunCommand(RhinoDoc doc, RunMode mode)
bei TunaHalf.FeatureDetection.DetectOuterBoundary(Brep brep)
bei TunaHalf.FeatureDetection.DetectFeatures(Brep b, List1& boundaries, List1& pockets, List1& holes, List1& pocket_depths)
bei TunaHalf.ShaperOriginCommand.RunCommand(RhinoDoc doc, RunMode mode)
Testdatei.3dm (110.0 KB)

Please copy and paste the text below, and post the error and your model at
https://discourse.mcneel.com/t/shaper-origin-svg-export/

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.Collections.Generic.List1[T].get_Item (System.Int32 index) [0x00009] in <8eb149dd05a5465eb95700a3d8da7ec1>:0 at TunaHalf.FeatureDetection.DetectPocketsAndHoles_PlaneDifferenceMethod (System.Collections.Generic.List1[T] boundaries, System.Collections.Generic.List1[T] active_faces) [0x00038] in <563dc7454c7d4e8aa6350623d17847d4>:0 at TunaHalf.FeatureDetection.DetectFeatures (Rhino.Geometry.Brep b, System.Collections.Generic.List1[Rhino.Geometry.Brep]& boundaries, System.Collections.Generic.List1[Rhino.Geometry.Brep]& pockets, System.Collections.Generic.List1[Rhino.Geometry.Brep]& holes, System.Collections.Generic.List1[System.Double]& pocket_depths) [0x000e7] in <563dc7454c7d4e8aa6350623d17847d4>:0 at TunaHalf.ShaperOriginCommand.RunCommand (Rhino.RhinoDoc doc, Rhino.Commands.RunMode mode) [0x00284] in <563dc7454c7d4e8aa6350623d17847d4>:0 at System.Collections.Generic.List1[T].get_Item (System.Int32 index) [0x00009] in <8eb149dd05a5465eb95700a3d8da7ec1>:0
at TunaHalf.FeatureDetection.DetectPocketsAndHoles_PlaneDifferenceMethod (System.Collections.Generic.List1[T] boundaries, System.Collections.Generic.List1[T] active_faces) [0x00038] in <563dc7454c7d4e8aa6350623d17847d4>:0
at TunaHalf.FeatureDetection.DetectFeatures (Rhino.Geometry.Brep b, System.Collections.Generic.List1[Rhino.Geometry.Brep]& boundaries, System.Collections.Generic.List1[Rhino.Geometry.Brep]& pockets, System.Collections.Generic.List1[Rhino.Geometry.Brep]& holes, System.Collections.Generic.List1[System.Double]& pocket_depths) [0x000e7] in <563dc7454c7d4e8aa6350623d17847d4>:0
at TunaHalf.ShaperOriginCommand.RunCommand (Rhino.RhinoDoc doc, Rhino.Commands.RunMode mode) [0x00284] in <563dc7454c7d4e8aa6350623d17847d4>:0

@E.E_Bijmold can you please attach the model you were cutting, as well as a description of which surface was the “top” in your model?

TunaHalf 0.2.5 is now on the package server.

To update

  1. Click rhino://package/search?name=tunahalf
  2. Click Update (or Install, if you haven’t already installed)

There are still some bugs here, especially in detection of the proper depths of pockets. But this build seems to be getting more right answers more often than previous builds.

TunaHalf 0.2.6 is now on the package server.

To update

  1. Click rhino://package/search?name=tunahalf
  2. Click Update (or Install, if you haven’t already installed)

New in 0.2.6:
This is the most capable and robust version of ShaperSvg so far. There are still some weird cases that don’t work, but generally this one should create good SVG files for reasonably complex parts.

@Peter_v_Stackelberg @E.E_Bijmold can you please try this build and see if it works for you?

Now I don’t get any more error messages.
Test file_1 was correctly output as SVG.
Test file_2 has errors

Testdatei.3dm (110.0 KB)
testdatei_1
testdatei_2.3dm (489.0 KB)
testdatei_2

Thank you so much for working on this! I was really struggling getting SVG files for my Shaper.

It seems like I was able to successfully output some files (attached), but cut depth call outs don’t scale if you’re working from inches. Do you recommend we only work in MM?

Also, there are odd random circle shapes, and the envelope of the file seems larger than the footprint of my model, based on inspections in Sketch. I’ve included files for your inspection. Anyway, bravo and thank you for your help with this!

Vent Hood Duct CAD for Shaper.zip (75.5 KB)

cab bot VH
cab top VH

@Will_Walker thanks for the files - let me take a look. You definitely should be able to work in inches or m and have adequate depth callouts. Things have been a bit crazy here, so I haven’t had the time to put into this project. I hope to get back to it in a couple weeks.

Bonjour Brian,
je suis toujours en train de tester le passage de Rhino vers le shaper.
“Jenner” me relance sur le sujet, j’utilise votre plugin de rhino, shapersvg,qui doit fonctionner un peu comme celui de fusion360 .
Je peux monter le fichier dans mon espace Cloud, mais shaper ne veut pas l’ouvrir, il doit ê
1234
rtre mal encodé.
Si vous avez une idée je suis preneur.
Amicalement
Vincent

Bonjour @VINCENT_HUBERT, can you please attach both the Rhino 3dm file that you’re exporting, as well as the SVG file that was exported? It’s difficult for me to debug problems from just a description.

Thanks

Bonjour Brian,
Merci pour cette réponse rapide.
Voilà le fichier .3dm et le .svg.
Ce serait vraiment cool si le plugin pouvait fonctionner un peu comme celui de fusion, parce que moi je préfère Rhino.
Amicalement de France
Vincent
ABCD.3dm (107.7 KB)
ABCD

Hi Vincent, I’m not familiar with how Fusion works - is the SVG file you posted, above, from Fusion or from Rhino? If it’s from Rhino, can you please attach the Fusion version?

Bonjour Brian,

Le fichier vient de Rhino, je n’utilise que trés peu Fusion, mais ce que je sais c’est qu’il encode les profondeurs de passes directement dans le SVG et que Shaper Origine les reconnait à l’ouverture.
Au dela de cela, il semblerait que Shaper soit sensible à la casse et le “plugin rhino shaper” place des majuscules par endroits qui bloque le shaper à l’ouverture.
Echange récent avec" Sam de shaper " sur le forum Shaper.
Merci encore pour votre travail, je pense que tout cela va être génial à utiliser.
Amicalement
Vincent

HI Vincent -

It looks like depth information (-15, -12, -9) is in that Rhino SVG file that you posted. I suppose that means that Fusion does it somewhat differently, and that’s why it’d be good if you were able to post an SVG file that was written by Fusion.
-wim

Bonjour,

Merci pour votre soutient.
Voilà un fichier similaire provenant de Fusion.

Stairs test Jenner.svg

Have there been any new features added to this plugin? I downloaded ShaperOrigin 2.7 and have the half rounds at the bottom of slots getting left out or a diagonal line.

This is the error file I get

Please copy and paste the text below, and post the error and your model at
https://discourse.mcneel.com/t/shaper-origin-svg-export/

System.NullReferenceException: Object reference not set to an instance of an object.
at TunaHalf.ShaperOriginCommand.DoSvgExport(RhinoDoc doc, Brep brep, List1 curves, String svgFilename, Boolean saveFile, Boolean debug) at TunaHalf.ShaperOriginCommand.RunCommand(RhinoDoc doc, RunMode mode) at TunaHalf.ShaperOriginCommand.DoSvgExport(RhinoDoc doc, Brep brep, List1 curves, String svgFilename, Boolean saveFile, Boolean debug)
at TunaHalf.ShaperOriginCommand.RunCommand(RhinoDoc doc, RunMode mode)

Hi Joseph,

Not a lot recently - but it’s something I want to continue to chip away at. Can you please attach your model so I can try to reproduce the problem?

Hi Brian,

I really like using your plugin! It’s amazing how quick one can get to a .svg that is ready to be used on the Shaper Origin from a 3D-Model. I have had some trouble with pocket-depth though. To me it seems like the plugin uses another logic compared to the Shaper Origin. Let me describe:

I have stock of 18mm thickness and placed a pocket that should be cut 2mm deep (as in take away 2mm worth of material). When exporting the .svg with the plugin it will show the depth at -16.0000.

I don’t care so much about the annotation, but rather about the shaper:cutDepth="-16.0000000000001" entry in the .xml. To take full advantage of that entry, I think it would have to be shaper:cutDepth="2.00mm"

Cheers Lukas

Hi Lukas, can you please send me the 3dm file and .svg files that demonstrate this problem?