Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/21/2020 in all areas

  1. vla-put-insertionpoint uses early binding meaning that access to the property is defined by the Type Library for the AutoCAD ActiveX Component Object Model (COM), whereas vlax-put-property or the undocumented vlax-put function uses late binding, meaning that access to the property is resolved at run-time. The difference between the late-bound functions vlax-put-property and vlax-put is simply that vlax-put will accept native Vanilla AutoLISP data types, thereby allowing you to supply lists of doubles in place of a safearray variant used by vlax-put-property, however, I've experienced issues in the past when using vlax-put with some properties and so tend to opt for vlax-put-property where possible. The differences between early & late binding become more apparent when interfacing with objects outside of the AutoCAD Object Model, for example, such as the Excel Object Model. Here, unless you import the relevant Type Library to define the properties & methods of objects within the Object Model, you will not be able to access properties or invoke methods using the early-bound vla-get-*/vla-put-* or vla-* functions respectively, but only by referencing the property or method by name using the late-bound vlax-get-property/vlax-put-property or vlax-invoke-method functions (or the equivalent undocumented vlax-get/vlax-put & vlax-invoke functions). In terms of performance, since AutoLISP is interpreted at run-time, you'll only take advantage of the performance benefits of early binding if you compile & optimise your program, and even then, the differences are close to negligible.
    1 point
  2. You could generate a field referencing the sum of the lengths of all objects within a selection using the commands offered by my Length & Area Field application, alternatively, you may want to consider my Total Length & Area program, or Length at Midpoint program.
    1 point
×
×
  • Create New...