PSC Code Manual

util/object/3D.lsp [src]

Functions related to creation of 3D objects

Functions

Function signature Description
(closed-pline-p plineobj) Returns T if passed PLINEOBJ is a closed polyline
(draw-fillet-3d container def-lst) Creates a series of filleted plines from a definition list
(draw-pipe-3d path-lst rad) Create a series of extruded circles along list of path objects
(path-p obj) Returns T if passed OBJ is a valid path
(plineobj->faceobj plineobj dpt delete) creates 3D face from an open pline input of exactly two vertices
(plineobj->regionobj plineobj delete) Creates a region from passed polyline object
(plineobj->solidobj plineobj ext-param delete) Creates extruded 3D solid from passed polyline object
(put-circle-normal-to-path obj path) Move a passed circle object normal to a passed path object

(closed-pline-p plineobj)

Returns T if passed PLINEOBJ is a closed polyline

VARS:
(PLINEOBJ VLA-OBJECT)

(draw-fillet-3d container def-lst)

Creates a series of filleted plines from a definition list

DEF-LST is the return from safe-calc-fillet-3d

VARS:
(CONTAINER VLA-OBJECT)
(DEF-LST LIST (VL-EVERY '(LAMBDA (LST) (VL-EVERY 'POINT-P (MAPCAR 'REMOVE-LAST LST))) (MAPCAR 'CAR DEF-LST)) (VL-EVERY '(LAMBDA (LST) (VL-EVERY 'NUMBERP (MAPCAR 'LAST LST))) (MAPCAR 'CAR DEF-LST)) (VL-EVERY 'POINT-P (MAPCAR 'LAST DEF-LST)))

(draw-pipe-3d path-lst rad)

Create a series of extruded circles along list of path objects

VARS:
(PATH-LST nil (VL-EVERY '(LAMBDA (OBJ) (= (TYPE OBJ) 'VLA-OBJECT)) PATH-LST))

(path-p obj)

Returns T if passed OBJ is a valid path

VARS:
(OBJ VLA-OBJECT)

(plineobj->faceobj plineobj dpt delete)

creates 3D face from an open pline input of exactly two vertices

VARS:
(PLINEOBJ VLA-OBJECT (= "AcDbPolyline" (vla-get-ObjectName PLINEOBJ)) ((LAMBDA (LST) (= 2 (LENGTH (SAFEARRAY->LIST LST)))) (variant-value (vla-get-Coordinates PLINEOBJ))))

(plineobj->regionobj plineobj delete)

Creates a region from passed polyline object

PLINEOBJ must be a VLA-OBJ which is closed
PLINEOBJ will be deleted if DELETE is non-nil

VARS:
(PLINEOBJ VLA-OBJECT (CLOSED-PLINE-P PLINEOBJ))

(plineobj->solidobj plineobj ext-param delete)

Creates extruded 3D solid from passed polyline object

PLINEOBJ must be a VLA-OBJ which is closed
EXT-PARAM must be a number for depth or a VLA-OBJECT for path
PLINEOBJ will be deleted if DELETE is non-nil

VARS:
(PLINEOBJ VLA-OBJECT (CLOSED-PLINE-P PLINEOBJ))
(EXT-PARAM nil (OR (NUMBERP EXT-PARAM) (PATH-P EXT-PARAM)))

(put-circle-normal-to-path obj path)

Move a passed circle object normal to a passed path object

VARS:
(OBJ VLA-OBJECT (= "AcDbCircle" (vla-get-ObjectName OBJ)))
(PATH VLA-OBJECT (PATH-P PATH))