Vai al contenuto
Gaetano Pinto

Lisp per assegnare una sezione trasversale simmetrica o non simmetrica a più sementi o polilinee nel piano o nello spazio

Recommended Posts

Bun giorno.

Risulta a qualcuno una routine in lisp che selezionati più segmenti o polilinee nel piano o nello spazio vi assegni una sezione trasversale creando i elativi solidi ? Sarebbe utile per creare capriate 3D piane o spaziali.

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
(defun c:shp-sweep-m ( / *adoc* shp ss i curve shpn )

  (vl-load-com)

  (vla-startundomark (setq *adoc* (vla-get-activedocument (vlax-get-acad-object))))
  (prompt "\nPick unit shape for sweep along curves : ")
  (while (not (ssget "_+.:E:S:L" (list '(-4 . "<or") '(-4 . "<and") '(0 . "*POLYLINE") '(-4 . "<or") '(70 . 1) '(70 . 3) '(70 . 5) '(70 . 9) '(70 . 13) '(70 . 129) '(70 . 131) '(70 . 133) '(-4 . "or>") '(-4 . "and>") '(-4 . "<and") '(0 . "SPLINE") '(-4 . "<or") '(70 . 3107) '(70 . 2051) '(70 . 1067) '(70 . 11) '(-4 . "or>") '(-4 . "and>") '(-4 . "<and") '(0 . "ELLIPSE") '(-4 . "<and") '(41 . 0.0) '(42 . 6.28319) '(-4 . "and>") '(-4 . "and>") '(0 . "CIRCLE,REGION") '(-4 . "or>"))))
    (prompt "\nEmpty sel.set... Please pick unit shape for sweep along curves again...")
  )
  (setq shp (ssname (ssget "_P") 0))
  (prompt "\nSelect curve entities to make sweeps with unit shape...")
  (if (setq ss (ssget '((0 . "*POLYLINE,LINE,SPLINE,ARC,CIRCLE,ELLIPSE,HELIX"))))
    (repeat (setq i (sslength ss))
      (setq curve (ssname ss (setq i (1- i))))
      (setq shpn (vlax-vla-object->ename (vla-copy (vlax-ename->vla-object shp))))
      (command "_.SWEEP" shpn "" curve)
      (while (< 0 (getvar 'cmdactive)) (command ""))
    )
    (prompt "\nEmpty sel.set... Please select curve entity(ies) next time when routine is started again...")
  )
  (vla-endundomark *adoc*)
  (princ)
)

 

Preso da qui

https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/multiple-sweep/td-p/6357009

 

Cercando su google "multiple sweep lisp autocad" se ne trovano tanti

 

 

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×