std-entmake- <beta>


Synopsis

(std-entmake-arc <elist>)

(std-entmake-ellipse <elist>)

(std-entmake-group <elist>)

(std-entmake-hatch <elist> <bnd-ents> <pathflags>)

(std-entmake-solid <elist>)

(std-entmake-spline <elist> <pts>)

(std-entmake-mline <elist> <segs>)

(std-entmake-mlinestyle <elist>)

Others to be added eventually.

Description

In Beta test status (API fixed, implementation not) are the follwing functions by David Kozina:

(std-entmake-arc <elist>)

Creates an arc entity with the following defaults and required entity groups:

default: ((0 . "ARC")(10 . (0 0 0)) ...)

required: group 10- point, 40- radius, 50 - start angle, 51 - end angle

(std-entmake-ellipse <elist>)

Creates an ellipse entity with the following defaults and required entity groups:

default: ((0 . "ARC")(10 . (0 0 0))
(41 . 0 0)
; 0.0 for full ellipse
(42 . *PI/2*)
; 2*PI for full ellipse
...)

required: group 10- center, 11, major axis point, 40- ratio major/minor axis

(std-entmake-solid <elist>)

Creates a solid entity with the following defaults and required entity groups:

default: ((0 . "SOLID"))

required: groups 10-13: definition points

(std-entmake-mline <elist> <segs>)

Creates a mline entity with the following defaults and required entity groups:

default: ((0 . "MLINE"))
(2 . "STANDARD")
; style name
(40 . 1.0) ; scale factor
(50 . 0) ; oblique angle (radians)
(70 . 1) ; justification value
; 0 top, 1 zero, 2 bottom
(71 . 1) ; open/closed flag
; 1 open, 3 closed

required: none

(std-entmake-mlinestyle <elist>)

Creates a mlinestyle table entry with the following defaults and required entity groups:

default: ((0 . "MLINESTYLE"))
(2 . "STANDARD")
; style name
(3 . "") ; description
(70 . 0) ; flagsfor end caps and others
; 0 no cap, 1filled, 16 cap first end,
; 256 cap last, 272 cap both
(62 . 0) ; fill color
(51 . *PI/2*) ; start angle
(52 . *PI/2*) ; end angle

required: groups 2 3 71 49 62 6

(std-entmake-group <elist>)

In R14 this function can create a group, but only an empty group.

Of very limited usefulness - if useful at all. Untested in A2000.

Some setable groups:

(300 . "") ; Description

(70 . 0) ; "Unnamed" Flag Values:

; 0 - Named, 1 - Unnamed

; 2 - BlockGroup?

(71 . 1) ; Selectability Flag:

; 0 - not selectable, 1 - selectable

Example

;; ss_alst does not work yet

(setq ss_alst (mapcar '(lambda (ele) (cons 340 ele)) 
                      (std-sslist (ssget)))
(setq elist 
  (append
    '((2 . "DILBERT") (70 . 0) (71 . 1) (300 . "Another Group"))

; ss_alst

     ))
(STD-ENTMAKE-GROUP elist)

(std-entmake-hatch <elist> <boundary-elst> <pathflag-lst>)

Creates a non-associative hatch for now only. Highly experimental!

elst gives the following options and defaults:

  (2 . "SOLID") ; Hatch Pattern Name
  (10 . (0 0 0)); seed point
  (98 . 1)      ; number of seed points
  (70 . 1)      ; Solid Fill Flag:
                ;   0 - Pattern Fill
                ;   1 - Solid Fill
  (71 . 0)      ; Non-associative flag (currently only 0)
  (75 . 0)      ; hatch style: 0 normal, 1 outermost, 2 with holes
  (76 . 0)      ; hatch pattern type: 0 user-defined, 1 predefined, 
                ;  2 custom

Boundary-elist is a list of entities which can make a closed boundary: CIRCLE or closed LW/POLYLINE.

pathflag-lst is a list of flags, one flag per boundary entity. The list must have the same length as boundary-elist. The following flags are supported.

Boundary Path Type Flags:

0 - Default

1 - External

2 - Polyline

4 - Derived

8 - Textbox

16 - Outermost

Arguments

elst: a partial entitylist as returned by entget. Just the required groups must be present.

Return Value

The return value of the actual (last) ENTMAKE call.

Side Effects

Creates AutoCAD entities.

Module

(std-require 'ENTMAKE)

#- SMALL

Defined in ENTMAKE