Skip to main content

I am trying to convert numerous ellipses into arcs. I cannot find a way to do this. I know I can convert them to polylines using ArcStroker, but we want to keep them as arcs. I am trying 2D ArcReplacer. The drawing I have has 100's of ellipses, but FME seems to only read three of them. I used the geometry filter to filter them out. I also exposed the "AutoCAD_entity" format attribute and did a tester to set that to autocad_ellipse. In both cases it only filtered out three objects, when I know there are over 200.

 

I am new to AutoCAD (we just switched over from Bentley), so I am not as familiar with the DWG formats and quirks. Any info would be greatly appreciated.

Hi, this interests me, however it would be great to have an example dwg that demonstrates your question. Is it that the DWG reader only reads three out of many ellipses?


Update: I had to also expose Autocad_original_entity. It now reads everything, but I still can't get the ellipses to convert to arcs. This is what my parameters look like.

 

2DArcReplacer


Hi, this interests me, however it would be great to have an example dwg that demonstrates your question. Is it that the DWG reader only reads three out of many ellipses?

Thanks for looking @Helmoet de Zwijger​ See my update below. I was writing that as you posted yours. I should also add that these DWGs were converted from DGN using Bentely's SaveAs functionality. I have attached a sample DWG that has both the ellipses and arcs. We just want arcs.


Still, an example (without all the sensitive information) would be great. I could generate a dwg my self but there I could run into assumptions.... 😀

I checked the settings in the image above, and I would say that the arcs generated should be OK. However I suppose its not arcs you're reading.

Ahh now I see the little green box.


If you use a GeometryCoercer and coerce to Geometry Type fme_line you should get an arc, you may also need a pathsplitter afterwards

 


If you use a GeometryCoercer and coerce to Geometry Type fme_line you should get an arc, you may also need a pathsplitter afterwards

 

@ebygomm​ I just tried that and it does the same thing as the arcstroker. It turns it into a 3D polyline, not an arc. Thanks though.


Still, an example (without all the sensitive information) would be great. I could generate a dwg my self but there I could run into assumptions.... 😀

I checked the settings in the image above, and I would say that the arcs generated should be OK. However I suppose its not arcs you're reading.

Ahh now I see the little green box.

If you go to the Ancient Oak and Sundance intersection, the top two "curves" are ellipses and the bottom two are arcs.


Hi, I could not get all the ellipses (only three of them...) however to turn them into arcs I did the following:

Filter them out with the GeometryFilter and then count them using a counter. A CenterPointReplacer replaces them with a center point, to which I add a random coordinate (VertexCreator) outside of the ellipse (I used 0,0). After that I intersect the lines with the original ellipses, group by the _count attribute to ensure a generated line only breaks the ellipse it came from. Finally another GeometryFilter (this time filter on arc) yields back the Arcs. However, I end up with 2 arcs for each ellipse, which is kind of logical since one never occasionally hit the starting point from which MicroStation starts calculating the arc. This is the old MicroStation trick by the way to transform MicroStation circles into arcs, just cut them up.

 

The GeometryCoercer should work too, however it depends on what you want to do with the result. :-)


@ebygomm​ I just tried that and it does the same thing as the arcstroker. It turns it into a 3D polyline, not an arc. Thanks though.

It shouldn't, I've not looked at your sample data, but if i put an ellipse through the geometry coercer it goes from this to this

Capture


Capture


If you go to the Ancient Oak and Sundance intersection, the top two "curves" are ellipses and the bottom two are arcs.

What are you actually trying to do, FME sees both of those curves as Arcs, even though they have different autocad_original_entity_types. Are you trying to write back into autocad?


If you go to the Ancient Oak and Sundance intersection, the top two "curves" are ellipses and the bottom two are arcs.

@ebygomm​ I have attached my FMW file (it is reading the DWG attached abov). I am writing back to AutoCAD. We just want the ellipses in AutoCAD to read as arcs. I am wondering that since this is from a DGN originally, that it is screwing something up. As @Helmoet de Zwijger​ stated, FME reads this as both. The autocad_entity is arc, but the autocad_original_entity is ellipse. AutoCAD is reading it as an ellipse


If you go to the Ancient Oak and Sundance intersection, the top two "curves" are ellipses and the bottom two are arcs.

Ah, so if you're going back to AutoCad. Autocad will consider them to be ellipses if they have both a primary and a secondary axis. Looking at your sample data, these values differ very slightly for the arcs you highlighted at the intersection.

 

You could try extracting the arc properties then resetting them but using the primary radius for both Primary and Secondary Radius - although not 100% if that's going to lead to other issues for you.

 

I don't have access to autocad, but if i do this and write the data back to autocad, then read it in again with fme, the autocad_orignal_entity_type is then set as arc rather than ellipse


If you go to the Ancient Oak and Sundance intersection, the top two "curves" are ellipses and the bottom two are arcs.

You probably also want to remove that autocad_original_entity_type before writing back to autocad


Reply