FastFiber

blocks plaatsen op points

Gestart door sluys1978, wo 18 04 2012, 16:10:22

Vorige topic - Volgende topic

sluys1978

Ik heb een vraag over het plaatsen van blocks op points.
Ik heb vanuit een andere programma Xeiz een dwg gekregen met allemaal points.
Deze points moeten bomen voorstellen. Is het mogelijk om een block van een boom in een keer op al deze points te plaatsen?

HofCAD

#1
Beste Sluys1978,

Met AutoLisp kun je het volgende programma o.a. maken:
(defun c:rPo2Blk (/ BlkName Scale Pnt_Set i)
  (setq BlkName "MijnBlok"
Scale 1
  )
  (if (tblobjname "block" BlkName)
    (progn
      (if (setq Pnt_Set (ssget '((0 . "POINT"))))
(progn
  (setq i 0)
  (repeat (sslength Pnt_Set)
    (command "_.INSERT"
     BlkName
     "_S"
     Scale
     (cdr (assoc 10 (entget (ssname Pnt_Set i))))
     "0"
    )
    (setq i (1+ i))
  )
  (command "_.ERASE" Pnt_Set "")
)
      )
    )
    (princ
      (strcat "\nWarning: No block definition for the name: "
      BlkName
      "."
      )
    )
  )
  (princ)
)
(princ "\nrPo2Blk.lsp loaded. Type RPO2BLK to run.")
(princ)

Na het laden van dit programma typ je RPO2BLK in
en daarna kun je bijv. alle Points selecteren door ALL
in te typen.
Daarna worden alle Points vervangen door Block references
van het block met de naam MijnBlok.
Als de naam van het block ipv MijnBlok bijv. MijnBoom is,
dan moet je
  (setq BlkName "MijnBlok"
Scale 1
  )

veranderen in
  (setq BlkName "MijnBoom"
Scale 1
  )


Met vriendelijke groet, HofCAD CSI.
ACADcadabra

Jon Tampon

Windows 8.1 (64 bit)
AutoCAD Mechanical 2016 - English SP1