Arkance Systems Node Library Feedback Thread

Unfortunately there is no accessible core layer object so a Camber Layer or a core layer is not compatible with an Arkance Systems Layer. But you can get a Layer by name, from the Camber layers (Name node) or the ootb nodes to get all Document layers and filter by bool mask. Then you can use the collected Xref layers to freeze or thaw (in a viewport or current document).

And the dyn:

xreflayers-viewport.dyn (16.5 KB)

3 Likes

Very cool!

Thanks!

1 Like

You can just return Document.LayerByName, right? That’s what I’ve done with all Camber layer nodes since there is no public constructor.

3 Likes

Great tip, I didn’t think of that!

I’ll have a fresh look on my node collection soon.

1 Like

That’s what I do for all of the core classes to avoid creating new types. I just use static classes with extension methods.

1 Like

I remember why I didn’t do that with Layers. Other nodes in my library like BlockReferences are static and result in core objects since I can return them via ObjectDescriptors. I think I was convinced that Layers were not possible to return that way, because a Layer is not geometry. I just forgot there is a Document function to return a Layer object by name.

I’ll update the code to be more core compatible.

2 Likes

Version 7 is online! With a lot of new and exciting nodes! Over 800 nodes will help you doing great things.

A few improvements:

  • AutoCADLayer objects are now compatible with the core layer objects.
  • AutoCADColor objects return now correct RGB, Hex and ACI values (even if they are not RGB or ACI)
  • Table cells can now read/write numbers, strings or blocks
  • Layer and Layout dropdowns have the active item preselected

New: Color Ranges

You can create colorful ranges between two or more colors, in as many steps as you want:

New: Surface Analysis

The automated color range is the same functionality in Surface Elevation Analysis:

This result in:

And if you only add two colors to the node, then this is the result:

To calculate the top and bottom elevations of multiple Surfaces, you can use the new BottomAndTopElevation node.

Also Volume Surface Elevation Analysis is possible. Just add two colors for cut and fill, and the step size.

New: Table edits

Editing tables is easy, new rows/columns or if you rather want to delete some, it is possible now. Reading cells will result in strings, numbers and blocks:

New: Dimensions

An Arc Length dimension is added to the library. Also new nodes to override the text and to read the actual measurement.

New: Offset Corridor FeatureLines

The core object is quite basic and there are no OOTB nodes to read Offset Corridor FeatureLines. There is a new CorridorFeatureLine object now in this library (which is not compatible with the core unfortunately but can do much more) that can come from an Offset Baseline:

New: Triangles

A new virtual object is the Triangle. You can read triangles from Faces, Tin Surfaces or Meshes and you can do a lot of nice things with them. Requesting slope, normal, points on the face, or create a new Mesh.

New: DrawOrder

Manage the draworder of objects in the drawing is easy. Several new nodes will help you with that.

New: Layer Filters

Filter layers with ease, as many filters as you need. Just select the filtertype from the dropdown, add a value and you have a new list of layers which you can use or filter again:

New: Polyline 2D/3D

2D and 3D Polylines can be created but also explored. A list of segments is easy to request and if a polyline contains arcs, you get valuable values like the bulge, radius, midpoint, centerpoint, slope, and more. Convert them to curves or use it to place dimensions.

New: Hatches

Create Hatches or Gradients on the fly, change the pattern or color or do other things what you can do with Hatches.

New: MPolygons

As easy as Hatches are MPolygons. Create them or read the area, change the pattern or the color. The only thing that is not possible yet is convert one into the other.

New: Slope Patterns

A recent issue here on the board that was interesting to add to the library. You can create slope patterns between two PolyCurves. It is added to AutoCAD as an unnamed block but you can add it to Dynamo as Lines as well. If you rather don’t want the whole PolyCurve patterned, you can enter a start and end station.

And some minor stuff that I can’t remember but there is really a lot of new functionality added! Have fun!

11 Likes

So exciting! Thanks Anton.

1 Like

Anton,

For the slope pattern creation:
Does it matter what line is input as “top” and what is input as “bottom”? I know in the problem that was posted here: Slope pattern between two feature lines
The polylines in the dwg alternated between which is top and bottom. The solution .dyn is able to take this into account. Does the node “SlopePattern.CreateSlopePattern” make this differentiation as well? Or will it only work when there is a single discrete “top” and single discrete “bottom”?

The top boundary is used to create perpendicular slope lines. If the other end (at the bottom) will have a higher elevation, the short line will start from there, but still perpendicular to the top line.

And vice versa:

The same pattern but now perpendicular to the bottom.

Actually ‘top’ and ‘bottom’ are not quite the correct names I think. Unless both have the same elevation :slight_smile:

3 Likes

Perfect. This is a great solution!

Awesome Anton!

I had to update one of my scripts to also include Xrefs when overriding viewport settings and it instantly worked in V7.0.0 after upgrading from V6.0.0 where it didn’t!

1 Like

Anton,

Is this working as intended? I’m trying to use the “attributes” section of the block reference creation node. I am passing in a list of attributes with the intent being to set a different number value to each block reference. It seems to only be taking the initial value of the list.

I expect that this is a list level issue. Normally the node needs one point as location and a list of strings for all attributes. You feed a list of points and still one list of attributes.

What happens if you reshape the list of attributes into a list of lists? In my example I transpose the list but in your case you might build the list of lists in another way:

Results in:

What happens when you set the attribute to @L1?

Probably the same, but my goal was to show that each point needs its own list of attributes :slight_smile:

1 Like

I tried L1, L2, and nesting it into a list of lists. I did not try transposing it. Thanks for the tip Anton :slight_smile: . Was able to get it to work bu changing property after creation but your node makes things cleaner :slight_smile:

1 Like

@Anton_Huizinga These are amazing!!! well done, we need to find a way to make the objects among the packages compatible, fyi @mzjensen

5 Likes

If all the objects between camber arkance and toolkit were compatible itd be amazing :joy: sounds like a lot of work though!

2 Likes

I’m reaching out to the authors as I have a half baked idea in mind :wink:

3 Likes