Merge the pline quickly

Discussion in 'AutoCAD' started by Marco Rongoni, Sep 24, 2004.

  1. Is there a very fast way to merge together polylines ?
     
    Marco Rongoni, Sep 24, 2004
    #1
  2. Marco Rongoni

    Jim Claypool Guest

    How about the join option in PEDIT?
     
    Jim Claypool, Sep 24, 2004
    #2
  3. Naturally I know it, but I was meaning something of more fast.

    For example I need that first I select all pline segments then I need the
    join.

    Also I need join when you have a branch
     
    Marco Rongoni, Sep 24, 2004
    #3
  4. Marco Rongoni

    Jim Claypool Guest

    Maybe this is what you want

    (defun c:pljoin ()
    (setq ss (ssget '((0 . "LWPOLYLINE,POLYLINE,LINE"))))
    (if ss (command ".pedit" (ssname ss 0) "j" "p" "" ""))
    )
     
    Jim Claypool, Sep 24, 2004
    #4
  5. Marco Rongoni

    shaw.n Guest

    YOU COULD TRY RHIS

    ^C^C_SELECT;SI;\^C^C_EXPLODE;@;^C^C_PEDIT;@;Y;J;ALL;;^C^C^C
     
    shaw.n, Sep 24, 2004
    #5
  6. Prova questa:

    Code:
    ; #PlineJoinPrec = global
    ;
    (defun C:ALE_PlJoin (/ SelSet FltLst OldLPr)
    ;(setvar "CMDECHO" 0) ; I have always = 0
    (princ "\nSelect lines, arcs or polylines to join:  ")
    (setq OldLPr (getvar "LUPREC"))  (setvar "LUPREC" 8)
    (setq
    FltLst
    '((0 . "LWPOLYLINE,POLYLINE,LINE,ARC"))
    #PlineJoinPrec
    (ureal 5 "" "Precision distance" (cond ( #PlineJoinPrec ) ( 0.00001 )))
    )
    (setvar "LUPREC" OldLPr)
    (cond
    ( (not (setq SelSet (cond ((ssget "_I" FltLst)) ((ssget FltLst)))))
    (prompt "\nNo arc or polyline selected.  ")
    )
    ( (ssget "_P" '((0 . "LINE,ARC")))
    (command "_.PEDIT" "_M" SelSet "" "_Y" "_J" "_J" "_E" #PlineJoinPrec
    "")
    (princ (strcat
    "\n" (itoa (sslength SelSet))
    " lines, arcs or polylines are joined.  "
    )       )
    )
    ( T
    (command "_.PEDIT" "_M" SelSet "" "_J" "_J" "_E" #PlineJoinPrec "")
    (princ "\n_ ")
    (princ (strcat "\n " (itoa (sslength SelSet)) " polylines are joined.
    "))
    )
    )
    (princ)
    )
    ;*
    ;* UREAL  Funzione di interfaccia utente per numeri reali.
    ;* BIT (0 per nessuno) e KWD key word ("" per nessuna) sono gli stessi di
    ;* INITGET.
    ;* MSG e' la stringa di prompt, alla quale e' aggiunto numero reale di
    default
    ;* come <DEF> (nil per nessuno), e un : sara' aggiunto.
    ;*
    (defun ureal (bit kwd msg def / inp)
    (if def
    (setq
    msg (strcat "\n" msg " <" (ALE_RTOS_DZ8 def) ">: ")
    bit (* 2 (fix (/ bit 2)))
    )
    (setq msg (strcat "\n" msg ": "))
    )
    (initget bit kwd)
    (setq inp (getreal msg))
    (if inp inp def)
    );defun UREAL
    ;
    (defun ALE_RtoS_DZ8 (ReaVal / CurDZn OutVal)
    (if (= 8 (setq CurDZn (getvar "DIMZIN")))
    (setq CurDZn nil)
    (setvar "DIMZIN" 8)
    )
    (setq OutVal (rtos ReaVal 2))
    (and CurDZn (setvar "DIMZIN" CurDZn))
    OutVal
    )
    

    --

    Marc'Antonio Alessi
    http://xoomer.virgilio.it/alessi
    (strcat "NOT a " (substr (ver) 8 4) " guru.")

    --
     
    Marc'Antonio Alessi, Sep 24, 2004
    #6
  7. Marco Rongoni

    Charliep Guest

    This is one that some wrote for me.

    (defun C:pJ() ;;define the function
    (princ "\nSelect plines to join: ");;prompt the user
    (setq a (ssget));;select the plines
    (setq b (ssname a 0));;retrieve a base line
    (command "_.pedit" b "j" a "" "");;enter the command line options
    (princ);;exit quietly
    );;we are done
     
    Charliep, Sep 24, 2004
    #7
  8. How I should apply these rows of code ?
     
    Marco Rongoni, Sep 27, 2004
    #8
  9. These are commands to type in sequence ?
     
    Marco Rongoni, Sep 27, 2004
    #9
  10. Scusami ma come la devo utilizzare ?
    e' una macro ?
    dove la devo mettere ?
     
    Marco Rongoni, Sep 27, 2004
    #10
  11. Marco Rongoni

    Jim Claypool Guest

    Save it as a file named pljoin.lsp in you Support File search path
    Use appload to load the pljoin.lsp file or at then command line enter (load
    "pljoin")
    At the command line enter PLJOIN
     
    Jim Claypool, Sep 27, 2004
    #11
  12. Marco Rongoni

    Jim Claypool Guest

    This is for a menu pick. You could put in on a toolbar button.
     
    Jim Claypool, Sep 27, 2004
    #12
  13. Con un editor (notepad) salva il testo in un file
    con estensione lsp (esempio ALE_PlJoin.lsp)
    il file deve trovarsi nel percorso di ricerca di
    AutoCAD.

    Quindi digita esattamente: (load "ALE_PlJoin")

    quindi digita: ALE_PlJoin



    Ciao.
     
    Marc'Antonio Alessi, Sep 27, 2004
    #13
  14. Scusami se approfitto spudoratamente di te ma il testo lo copio così come me
    lo hai mandato ?
    Scusami di nuovo ma ho una seconda domanda, se io volessi fare un cartiglio
    in cui mettere in automatico nome file e data, sai dirmi come dovrei fare ?
     
    Marco Rongoni, Sep 29, 2004
    #14
  15. Grazie.

    Sai, non sono così sprovveduto, ho fatto qualche macro in visualbasic ma non
    lavorandoci spesso le cose si dimenticano facilmente.
    Sai dove si può recuperare della documentazione (anche in inglese) che
    spieghi come lavorare con macro VB e lisp ?
     
    Marco Rongoni, Sep 30, 2004
    #15
  16. Scusa non volevo offendere.

    La documentazione di AutoCAD e questo NG è tutto quello
    che io ho usato, a parte un libro acquistato 13 anni fa.

    Marco
     
    Marc'Antonio Alessi, Sep 30, 2004
    #16
  17. Per carita non mi sono affatto offeso.

    Solo che è sempre più facile chiedere a qualcuno che gia sa piuttosto che
    perdere ore e ore.
    Io sono per la condivisione della conoscenza e forse sono anche un pò pigro.

    Resto in attesa di un cartiglio da te o è il caso che cominci ad informarmi
    meglio ?

    Ciao e buon week-end
     
    Marco Rongoni, Oct 1, 2004
    #17
  18. Resto in attesa di un cartiglio da te o è il caso che cominci ad
    informarmi
    Se vuoi ti mando un cartiglio ma per far sì che si
    aggiorni automaticamente alla apertura del disegno
    la cosa non è così semplice.

    Che versione di AutoCAD usi?


    --

    Marc'Antonio Alessi
    http://xoomer.virgilio.it/alessi
    (strcat "NOT a " (substr (ver) 8 4) " guru.")

    --
     
    Marc'Antonio Alessi, Oct 2, 2004
    #18
  19. Normalmente la 2002 ma ho anche la 2004.
     
    Marco Rongoni, Oct 4, 2004
    #19
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.