Programs that draw it for you!






23 November 2017

Welcome, Visitor

Powered By

lusovps.com
Visitor Access




Do you have codes to share? Please register and you can automatically upload your codes!




We now have 12 tips!

Quick Search->

Classe:

Tag:

Autolisp Commands:

(1) append
(1) appendOuterLoop
(1) apply
(2) cons
(3) defun
(1) entsel
(1) function
(1) if
(1) lambda
(2) length
(2) list
(2) mapcar
(1) princ
(1) progn
(11) setq
(1) ssget
(2) ssname
(1) tblobjname
(1) tblsearch
(4) vl-load-com
(1) vl-sort-i
(2) vla-add
(2) vla-addcircle
(1) vla-AddHatch
(1) vla-addLightweightPolyline
(1) vla-addtable
(1) vla-addtext
(1) vla-delete
(1) vla-evaluate
(5) vla-get-ActiveDocument
(1) vla-get-activelayer
(1) vla-get-blocks
(1) vla-get-layers
(3) vla-get-ModelSpace
(1) vla-item
(1) vla-put-activelayer
(1) vla-put-Alignment
(1) vla-put-color
(1) vla-put-layer
(1) vla-put-TextAlignmentPoint
(1) vla-setText
(1) vlax-3d-point
(1) vlax-dump-object
(4) vlax-ename->vla-object
(6) vlax-get-Acad-Object
(3) vlax-get-property
(1) vlax-invoke
(2) vlax-make-safearray
(2) vlax-make-variant
(2) vlax-put-property
(2) vlax-safearray-fill
(1) vlax-true
(2) vlax-vbdouble
(1) vlax-vla-object->ename
Classe:Lists Sub-rotines Create Tag:Polyline
Create a polyline:
...
(vl-load-com)
(setq *ModelSpace* (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-Acad-Object))))
...
(setq px1 (list 0 0 0))
(setq px2 (list 1 1 0))
(setq var_pt (bs:lst_array (bs:lst_Pt3d->lst_2d (list px1 px2))))
(setq pline (vla-addLightweightPolyline *ModelSpace* var_pt))
...
...

;######## BASES #######
(defun bs:lst_array (ptsList / arraySpace sArray);-> (x y x y .....) => Variante
(setq arraySpace (vlax-make-safearray vlax-vbdouble (cons 0 (- (length ptsList) 1)) ))
(setq sArray (vlax-safearray-fill arraySpace ptsList))
(vlax-make-variant sArray) )

(defun bs:lst_Pt3d->lst_2d (lst_pt3d);-> ((xyz) (xyz)...) =>(x y x y..)
(setq polypoints (apply 'append (mapcar 'bs:Pt3d->Pt2d lst_pt3d))))
Comment!See all 0 comments
Classe:Properties ObjectName Tag:Polyline
Neste exemplo explico como alternar entre entidades de lisp e entidades activex...

:::seleccionar um conjunto de objectos
(setq sel_eixo (ssget))

:::ir buscar a sua "identificação" activex
(setq my_vlaxobj (vlax-ename->vla-object (ssname sel_eixo 0)))

::: verificar por exemplo o tipo de objecto
(setq my_vlaxobj_name (vlax-get-property my_vlaxobj "ObjectName" ))

::: se for uma poli, continuamos...
(if (= vlaxobj_name "AcDbPolyline")(progn

(...)
))

::: para ter a identificação autolisp usamos

(setq my_lispobj (vlax-vla-object->ename my_vlaxobj))

Ou seja:

vlax-ename->vla-object ...... lisp -> activex
vlax-vla-object->ename ...... activex -> lisp
Comment!See all 0 comments



... AutolisPro is a project still under construction, we will try to implement as soon as possible all the missing features ! ...


At this starting fase, we are recruiting new programmers, if you are interested in investing in our project please contact us!


We want the site to be the most practical and functional. Your ideas and opinions are very important to us, please share them with us!


If you find any problem contact... webmaster Time to buil: 0 ... site online since October 2008... ... last update at 09/12/2014...