CADsite forum

AutoCAD => Autolisp => Topic gestart door: Joop op ma 15 09 2008, 13:34:29

Titel: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: Joop op ma 15 09 2008, 13:34:29
Dit Item is een vervolg van het door Ropa  in AutoCAD gestartte "Enkele blokken veranderen in een tekening"

Zoals ik daar beloofde hierbij een "extended version" (goh, dat klinkt chique!).

Je hebt nu de mogelijkheid om een blok uit de tekening te kiezen of vanaf de harde schijf.
Vanuit de tekening heb je de mogelijkheid van een "pick" of een selectie vanuit een lijst.
In deze lijst staan alle blokken die in de tekeniong zijn gedefinieerd. Ook de blokken die je hebt gedelete en niet gepurched.

De nieuwe bliokken krijgen nu de kleur, laag, rotatie en de schaal van het oude blok.
De attributen worden ( nog ) niet overgenomen.

Voor diegene die graag de code doorsnuffellen heb ik geprobeerd de variabelen zo duidelijk mogelijk te maken.

MELD BUGS
Dit is een testversie!
Ik kan (op dit moment) niet op alle versies van AutoCAD testen.
Dus meld elk probleem dat je hebt.
Ik zal dan zo snel mogelijk proberen een correctie aan te brengen.

Veel plezier ermee.  :lol:

Aanpassing op 16-09-2008:
Als je een op- / aanmerking hebt vermeld dan even met welke versie AutoCAD je werkt.
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: julien op ma 15 09 2008, 13:36:40
Ola!
Ik download de lisp onmiddellijk en test het eens.

Bedankt alvast!  :vreegoe:
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: julien op ma 15 09 2008, 13:42:48
 :oops:
Hoe start je deze lisp op?
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: HofCAD op ma 15 09 2008, 14:09:01
Citaat van: julien op ma 15 09 2008, 13:42:48
:oops:
Hoe start je deze lisp op?

Beste Julien en Joop,

De Lisp start je op met MAIN, maar ik krijg bij het selecteren uit een lijst
in AutoCAD 2008 dat de blocksreferenties volledig uit mijn tekening verdwijnen.
Command: ; error: bad argument type: consp "vier"
Ook de lijst waarin je kan selecteren,wordt niet netjes bijgewerkt.

Ondanks dat, vind ik het toch een geweldig progamma.

Met vriendelijke groet,
HofCAD CSI
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: julien op ma 15 09 2008, 14:19:53
Ik dacht al zoiets, maar als ik main ingeef krijg ik:

Command: main
; error: no function definition: DOS_MSGBOXEX
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: HofCAD op ma 15 09 2008, 14:53:07
Citaat van: julien op ma 15 09 2008, 14:19:53
Ik dacht al zoiets, maar als ik main ingeef krijg ik:

Command: main
; error: no function definition: DOS_MSGBOXEX


Beste Julien,

Ik denk dat je de juiste DOSLIB moet laden.

Met vriendelijke groet,
HofCAD CSI
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: Joop op di 16 09 2008, 08:49:54
Ik heb de opmerkingen van HofCAD verwerkt en nu zou je via een een actuele lijst van de zich in de tekening bevindende blokken een van de blokken in de database moeten kunnen kiezen. (Dit is toch een heerlijke zin , nietwaar? :wink:)
Oftewel simpel gezeged: 't werkt.
Getest op 2005 en 2007.

:!: Denk eraan: LAAD DE DOSLIB  :!:
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: julien op di 16 09 2008, 09:34:25
Ja watte! Knap werk!

Mag ik nog wat suggesties geven?  :mrgreen:
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: Joop op di 16 09 2008, 10:22:34
Citaat van: julien op di 16 09 2008, 09:34:25
Ja watte! Knap werk!
:oops: :icon_wub:
CiteerMag ik nog wat suggesties geven?  :mrgreen:
Altijd.

Citeer
  • In het eerste keuze venster zou er misschien nog een 'cancel' knop bij mogen.
Hier wordt aan gewerkt.
De vraag is echter: Cancel waar naar toe? Stoppen? Of naar keuze selectiemethode?

Citeer
  • Het zou leuk zijn mocht je bij het kiezen van een te vervangen block ook een window selection zou kunnen maken.
Dit heeft het risico dat er meerdere elementen (bv lijnen en blokken) worden gekozen terwijl je slechts een  op een  kunt vervangen.
Ik heb heel bewust voor sensel gekozen ipv ssget.
Mogelijkheid :idea: Melding: St%^$%*ng! Je hebt meer dan een element gekozen. :idea:

Citeer
  • Het eindigen van het commando kan denk ik enkel met 'esc' misschien ook met 2 x enter?
Ook hier wordt aan gewerkt.
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: Joop op di 16 09 2008, 13:36:07
De laatste versie (1.20). 8)

Error routine toegevoegd.
Deze wordt nog verbeterd.

Het is nu mogelijk om meerdere blokken tegelijk te vervangen.
Je kunt met de normale selectiemethoden (bv window, crossing en/of picking) selecteren.
De blokken worden uitgefilterd en vervangen.

:idea: Het zou leuk zijn als het "goede" blok zou worden ge-highlight. :idea:
:idea: De GUI moet makkelijker.  :idea:
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: julien op wo 24 09 2008, 15:22:26
Ik ben momenteel dankbaar gebruik aan het maken van je handige lisp.  :vreegoe:
Enkel 1 minpuntje, de blipmode wordt aan gezet door het gebruik van wisselblock.lsp.  :mrgreen:
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: Joop op do 25 09 2008, 07:03:16
Ik heb een bestaande (oude) gebruik errorroutine gebruikt. Werkt in bijn alle gevallen perfect.
Echter wordt hier de blipmode op 1 gezet.
Dit is gecorrigeerd in deze versie.
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: julien op do 25 09 2008, 08:40:25
Schitterend!
Mag ik deze lisp in de bib zetten?
http://www.cadsite.be/download/pafiledb.php
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: Joop op do 25 09 2008, 11:03:33
Citaat van: julien op do 25 09 2008, 08:40:25
Schitterend!
Mag ik deze lisp in de bib zetten?
http://www.cadsite.be/download/pafiledb.php
Altijd.
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: julien op do 25 09 2008, 11:52:49
Bedankt!

Bij deze:
http://www.cadsite.be/download/pafiledb.php?action=file&id=14  :vreegoe:
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: hubruja op wo 01 10 2008, 15:19:49
Citeer

:!: Denk eraan: LAAD DE DOSLIB  :!:

DOSLIB??????

Waar vind ik die?
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: HofCAD op wo 01 10 2008, 18:46:36
Citaat van: hubruja op wo 01 10 2008, 15:19:49
Citeer

:!: Denk eraan: LAAD DE DOSLIB  :!:

DOSLIB??????

Waar vind ik die?
Beste hubruja,
Kijk op http://download.rhino3d.com/download.asp?id=doslib, en
hou natuurlijk rekening met je AutoCAD versie.

Met vriendelijke groet, HofCAD CSI

PS 1 Voor Joop:
Het zou eigenlijk wel gebruiksvriendelijker zijn als je onder je
programmaregels zoiets als volgend zou zetten:
(textscr)
(princ "\n*****Pogramma Wisselblock gebruikt DOSLIB##.arx van*****")
(princ "\n** http://download.rhino3d.com/download.asp?id=doslib **")
(princ "\nWisselblock.lsp is loaded, gebruik commando MAIN to run.")
(if (not dos_listbox) (princ "\n!!!!! Warning DOSLIB is nog niet geladen. !!!!!!"))


De procedure MAIN zou er bijvoorbeeld als volgt voor veranderd kunnen
worden:
(defun C:Main (/)
(if (not dos_listbox) (progn (textscr) (princ "\nLaad eerst DOSLIB."))
(progn
  (initerr)
  (KiesSelectieMethode)
  (MaakSelectie)
  (VerwisselBlok NaamNieuwBlok)
  (Reset)
))
) ;_ end of defun


Natuurlijk kun de regel 'Laad eerst DOSLIB.' ook in ai_abort  laten afdrukken.

Maar ook zonder deze veranderingen blijft het een fantastisch
programma, waarvoor ik als dom blondje m'n petje voor af neem.

PS 2 Voor Joop:
Hoe vind je eigenlijk mijn gebruiksvriendelijkheid op
http://forums.augi.com/showthread.php?t=55713&page=4
in HofAni1.zip en HofAni2.zip
Titel: Re: Wisel blokken in tekening: vervolg van Enkele blokken veranderen in een tekening
Bericht door: Joop op do 02 10 2008, 07:50:02
Citaat van: HofCAD op wo 01 10 2008, 18:46:36

Natuurlijk kun de regel 'Laad eerst DOSLIB.' ook in ai_abort  laten afdrukken.

Maar ook zonder deze veranderingen blijft het een fantastisch
programma, waarvoor ik als dom blondje m'n petje voor af neem.

PS 2 Voor Joop:
Hoe vind je eigenlijk mijn gebruiksvriendelijkheid op
http://forums.augi.com/showthread.php?t=55713&page=4
in HofAni1.zip en HofAni2.zip
HofCAD,

Een hartstikke goede oplossing, en mij maakt het niks uit dat je blond bent hoor.
Het heeft voordelen t.o.v. een dialoogvenster ( de oplossing, niet het blond zijn).
Zelf zat ik te denken aan een helpfile, maar om dit goed te doen moet je er veel tijd in steken.
Ik ben hier dus nog niet helemaal uit.
Aan de user interface wordt dus nog gewerkt.

Bedankt,

Joop