Creating an associative fillet operation using ObjectARX

This is really cool. Fellow architect on the AutoCAD team, Jiri Kripac – who originally wrote AutoCAD's "AModeler" facet modeler and is the driving force behind AutoCAD's Associative Framework – has written a really interesting ObjectARX sample to perform an associative fillet between two curves. Given Jiri's background, this is as close to a canonical sample for implementing an operation using the Associative Framework – in this case by creating a custom AcDbAssocActionBody – as you're likely to find.

Here's a video showing this custom fillet in action, and how it can be used with parameters and expressions to do some really impressive things (for instance, Jiri demonstrates basing an extruded surface on curves linked via an associative fillet… really nice).

Jiri presented this implementation at AU 2014 and has also posted all his code to GitHub.

When building the app, be sure to follow Jiri's instructions in the ReadMe: you'll need to place the code in the samples\entity folder of the ObjectARX SDK for AutoCAD 2015 and then build it using Visual Studio 2012 (or at least the v110 "platform toolset" build tools, allowing you to use the VS 2013 IDE with the 2012 compiler). You will need to load the .vcxproj – no .sln is provided – and do remember to set the build configuration appropriately (the default is Win32 rather than x64, and this often isn't directly obvious through the Visual Studio UI).

Many thanks to Jiri for providing this excellent sample!

One response to “Creating an associative fillet operation using ObjectARX”

  1. Justin Ralston Avatar
    Justin Ralston

    Great work guys,

    This would be really helpful in Civil3d and in roadway design where we are always filleting lines at intersections to create custom kerb return radius then moving roads. The built in road intersection tool in Civil3d does it a bit but can be to restrictive most of the time. I would also interested in an example for a polyline offset constraint, so one polyline could represent the road centreline and then two polylines could be constrained one either side of the centreline to represent the road kerb lines. I bit like the old multi line command but with better filleting.

    Regards

    Justin Ralston

Leave a Reply

Your email address will not be published. Required fields are marked *