Constructing a Variant From a List of Points
So far, the data in the polypoints variable is in a list format suitable for many
AutoLISP calls. However, the data is to be supplied as an input parameter to an ActiveX
call that expects a variant array of doubles. You can use another utility function
to make the required conversion from list to variant:
(defun gp:list-variantArray (ptsList / arraySpace sArray) ; allocate space for an array of 2d points stored as doubles (setq arraySpace (vlax-make-safearray vlax-vbdouble ; element type (cons 0 (- (length ptsList) 1) ) ; array dimension ) ) (setq sArray (vlax-safearray-fill arraySpace ptsList)) ; return array variant (vlax-make-variant sArray) )
The following actions take place in gp:list-variantArray:
- The vlax-make-safearray function is called to allocate an array of doubles (vlax-vbdouble). The vlax-make-safearray function also requires you to specify the lower and upper index boundaries of the
array. In gp:list-variantArray, the call to vlax-make-safearray specifies a start index of 0 and sets the upper limit to one less than the number
of elements passed to it (ptsList). - The vlax-safearray-fill function is called to populate the array with the elements in the point list.
- The vlax-make-variant is called to convert the safearray into a variant. As the last function call in gp:list-variantArray, the return value is passed to the calling function.
The following is an example of a function call that invokes gp:list-variantArray to convert a list to a variant array of doubles:
; data conversion from list to variant (setq VLADataPts (gp:list-variantArray polypoints))
far, the data in the polypoints variable is in a list format suitable for many AutoLISP calls. However, the data is to be supplied as an input parameter to an …list is a document prepared near the end of a construction project listing work not conforming to contract specifications that the contractor must complete …Variants …. There are several methods for creating loaded dice, including rounded faces, off-square faces and weights. … Many such dice have the numbers printed around the points, so that when it settles, the …variant (double-six), the values range from blank or no pips to six. … See also: List of domino games …. In some games, the tally is kept by creating houses, where the beginning of the house (the first 10 points) is a …constructed from the letters of … score two points (for a five-letter word) despite being formed from a chain of only …. Numerous unofficial computer versions and variants of the game are …building envelope. It is the covering on the uppermost part of a building or … The pitch is the angle at which the roof rises from its lowest to highest point. … in the ancient Roman period and in variant forms could be used to span spaces up to 140 … Main article: List of commercially available roofing material.… A variant is a data type that stores both a value and metadata specifying … a pointer passed to a C function can point to almost anything. … While associative arrays are a valuable tool in building algorithms such as linked lists …Variant 2: Creates a Polygon formed by the given shell and array of holes. You can construct a geometry array using ST_Accum or the PostgreSQL ARRAY[] … the start point to close it SELECT ST_MakePolygon(ST_AddPoint(foo.open_line, …lists all of the AssetBundles created from the project for the current build … AssetBundle Variants can hold the variety of Assets required to cover all …. Building and testing AssetBundles can be a pain-point during development.