presta bem atenção, pois é meio complicado:
(setq
;pega o activedocument:
thisdrawing (vla-get-activedocument (vlax-get-acad-object))
;pega a collection de dimensions deste documento:
dimstyles (vla-get-dimstyles thisdrawing)
;verifica a existencia da dimstyle e pega/ou cria ela:
dimsty (if (not (tblsearch "dimstyle" "sua_dimension"))
(vla-add dimstyles "sua_dimension")
(vla-item dimstyles "sua_dimension")))
;|
Para configurar a sua dimension style via visual lisp,
você deve configurar todas as variaveis de dimensoes que desejar
Para isso, "DIMSTYLE group codes" no help do visual lisp do cad
exemplo, vou configurar a dimscale e dimgap:|;
(setvar "dimscale" 0.1)
(setvar "dimgap" 0.5)
;feita as configurações, copie elas para a SUA dimstyle:
(vla-copyFrom dimsty thisdrawing)
;|é assim que faz, pois o objeto DIMSTYLE não oferece diretamente
as propriedades dimscale, dimgap, etc...
faça um teste:
(vlax-dump-object dimsty t)
veja que não aparecem estas e as outras propriedades...|;
via entmake eu nao cheguei a ver, mas não deve ser impossível…
já via activex ( VL, visual lisp ) é como eu apresentei acima
vc cria a dimstyle com o metodo ADD do activex, mas como este não ofereçe a possibilidade de configurar a dimstyle diretamente, temos de configurar as SYSTEM VARIABLES DO DOCUMENTO e sobreescreve-las na nossa dimstyle, com o método COPYFROM
pode parecer complexo, mas veja que o codigo é bastante reduzido, permitindo facil compreensão