List of Pro-only API methods?


#1

I started doing some digging into the Ruby API in hopes of writing extensions related to woodworking, and while experimenting around forming the geometry of some joints (by intersecting groups) I hit this error:

> result = group_a.intersect(group_b)
Error: #<ArgumentError: 'intersect' is a Pro only feature.>

I can understand having a set of methods that only function under Pro, but I can’t find them documented anywhere. Looking at the docs for Group#intersect, I don’t see anything about it being license restricted.

It seems like a real roadblock to doing any development that might be used in a non-Pro setting if the only way to find restricted features is to exercise them and note the failure.

Does anyone know of a place where the list of Pro-only methods is documented?


#2

Cursory Pro Only list of API methods and classes.


Since the boolean “Solid Tools” is Pro Only, it’s API methods are also:

intersect()
outer_shell()
split()
subtract()
trim()
union()


model.import() will ignore all Pro Only filetypes on Make.
model.export() will ignore all Pro Only filetypes on Make.
model.classifications()


Classifications class
ClassificationSchema class


Any action string (or command ID integer) that would fire a Pro Only feature via:
Sketchup::send_action()


#3

@DanRathbun - thanks for that, definitely a helpful start.

Interestingly I found that while I can’t call Group#intersect, I was able to run the intersection via Entities#intersect_with, which looked like:

def draw_block(side_length, height)
    group = Sketchup.active_model.entities.add_group

    starter_face = group.entities.add_face(
        [0,0,0], [side_length,0,0], 
        [side_length,side_length,0], [0,side_length,0]
    ).pushpull( -height )

    return group
end

group_a = draw_block(10, 4)
group_b = draw_block(20, 1)
group_c = Sketchup.active_model.entities.add_group

group_a.entities.intersect_with(
    false, IDENTITY, group_c.entities, 
    IDENTITY, false, group_b.entities.to_a
)

and puts the intersection lines into group_c.


#4
Off-topic: Re, intersect_with (click to expand)

Yes I knew this (as users can also use it manually from the mouse right-click context menu,) but this topic is about Pro Only methods,… so discussing intersecting is actually off-topic, and deserves it’s own thread.

Intersecting with the Free/Make editions has been discussed already mucho times in all the various forums that have come and gone over the years.