CADsite forum

AutoCAD => Autolisp => Topic gestart door: Bart Dheere op wo 23 09 2015, 16:20:57

Titel: LIsp Offset
Bericht door: Bart Dheere op wo 23 09 2015, 16:20:57
Hallo iedereen,

Bij de opmaak van een asbuiltplan van wegeniswerken dienen ik regelmatig (lees heel frequent) bepaalde offsets van lijnen te doen. Met een knop op een toolbar kan dit makkelijker. Wel dien ik een macro met het commando van de lisp te koppelen aan die knop.

Gezien ik geen enkele notie heb van lisp-routines schrijven, wens ik hiervoor een algemene oproep te doen om zo'n lisp te schrijven.

Ik hoop dat hier mij iemand kan bij helpen.

Groeten en bij voorbaat dank.
Bart
Titel: Re: LIsp Offset
Bericht door: Reimer op wo 23 09 2015, 22:36:31
Kun je aangeven wat je wilt automatiseren aan de offset? Een vast offset-afstand of meerdere offsets van dezelfde lijn? Aan één zijde of beide zijden?

Als je graag met knoppen werkt kun je het misschien ook met een macro onder een knopje zetten.

Reimer
Titel: Re: LIsp Offset
Bericht door: EddyBeerke op do 24 09 2015, 08:11:33
Probeer dit eens:
;;;## Commando OFFSET korter --> "O" + keuze uit 1.000  tot 10.000 m interval 0.500 ##
(defun c:oo ( / Afstand msg)
  (setq Afstand (getdist "\nGeef de afstand op voor OFFSET [0.220/0.250/0.350/0.375/1.000/1.500/2.000/2.500/2.750/3.000/3.500/4.000/4.500/5.000/5.500/6.000/6.500/7.000/7.500/8.000/8.500/9.000/9.500/10.000/12.000/15.000]: "))
  (princ)
  (if Afstand "" (setq Afstand (getdist "\nGeef de afstand op voor OFFSET [0.220/0.250/0.350/0.375/1.000/1.500/2.000/2.500/2.750/3.000/3.500/4.000/4.500/5.000/5.500/6.000/6.500/7.000/7.500/8.000/8.500/9.000/9.500/10.000/12.000/15.000]: ")))
  (princ)
  ;;;formateer Afstand naar #.###
  (setq Afstand (rtos Afstand 2 3))
  (Command "offset" Afstand)
  (setq msg "\nOffset afstand is: " )
  (princ msg)(princ Afstand)
  (princ) 
);;;einde OFFSET


Zet dit in een .lsp bestand.
Laad het met APPLOAD
En type het commando "OO"
Titel: Re: LIsp Offset
Bericht door: Bart Dheere op do 24 09 2015, 09:26:20
Heren,

@Reimer : De bedoeling is dat ik het gewone commando offset gebruik met verschillende knoppen. Zo zal ik een balk aanmaken met verschillende knoppen. Dit naargelang de gewenste offset-afstand. Dit zullen de afstanden 0.06, 0.08, 0.10, 0.15, 0.20, 0.30 en 0.50 worden. De offset-zijde zou ik graag nog zelf kunnen selecteren.

@EddyBeerke : Bedankt voor je tijd. De routine loopt gesmeerd. Enkel heb ik geen afstandskeuze nodig. Per knop had ik graag een vaste tussenafstand.

Eenmaal de lisp met een bepaalde afstand klaar is, kan ik wel zelf deze naar mijn gewenste tussenafstanden aanpassen.

merci, merci
Titel: Re: LIsp Offset
Bericht door: Reimer op do 24 09 2015, 14:05:55
Wanneer je knoppen maakt kun je eenvoudig met een macro werken.
^C^Coffset;1.25;
^C^Coffset;1.25;\\;

^C = cancel
;    = enter
\    = wachten op input van de gebruiker

Het eerste voorbeeld start offset en geeft 1.25 als afstand op. Vervolgens blijft het commando actief en kun je zoveel offsets maken als je wilt.
Het tweede voorbeeld wacht na de afstand op de selectie van een object en vervolgens op een punt voor de zijde van de offset. Daarna wordt het commando afgesloten.

Groeten,
Reimer

Titel: Re: LIsp Offset
Bericht door: EddyBeerke op do 24 09 2015, 16:57:23
Citaat van: Reimer op do 24 09 2015, 14:05:55
Wanneer je knoppen maakt kun je eenvoudig met een macro werken.
^C^Coffset;1.25;
^C^Coffset;1.25;\\;
...
Het eerste voorbeeld start offset en geeft 1.25 als afstand op. Vervolgens blijft het commando actief en kun je zoveel offsets maken als je wilt.
Het tweede voorbeeld wacht na de afstand op de selectie van een object en vervolgens op een punt voor de zijde van de offset. Daarna wordt het commando afgesloten.
Dat kan makkelijker!
Zet het onderstaande in de macro van de knop:
$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_offset,^C^C_offset);0.22
Nu zal acad een offset geven van 0.22
Wil je een andere maat dan moet je alleen de 0.22 veranderen.
Titel: Re: LIsp Offset
Bericht door: Reimer op vr 25 09 2015, 08:16:35
Heel netjes  :vreegoe:
Je kunt nu eerst een object selecteren en daarna het knopje aanklikken, handig.

Reimer
Titel: Re: LIsp Offset
Bericht door: EddyBeerke op vr 25 09 2015, 09:18:37
Citaat van: Reimer op vr 25 09 2015, 08:16:35
Heel netjes  :vreegoe:
Je kunt nu eerst een object selecteren en daarna het knopje aanklikken, handig.
Ik beken... heb het gepikt van Autodesk zelf!  :police:
Even gezocht in de cuix en daar kom je dat tegen...
Heb alleen het commando veranderd en de 0.22 toegevoegd.
Zo werkt het op dezelfde manier als het reguliere offset commando:
Of...
Titel: Re: LIsp Offset
Bericht door: Bart Dheere op vr 25 09 2015, 13:59:29
Mannen, (zonder de vrouwen uit te sluiten natuurlijk)

Woorden komen tekort om uit te drukken hoe groot mijn dank is.

Merci
Titel: Re: LIsp Offset
Bericht door: Bart Dheere op ma 28 09 2015, 14:35:32
Resultaat in bijlage.

Bedankt iedereen
bmp's voor de knoppen maken/tekenen zijn niet zo makkelijk. Kruipt redelijk wat tijd in.

Groeten, Bart
Titel: Re: LIsp Offset
Bericht door: julien op wo 30 09 2015, 20:00:11
Vandaag kreeg ik dit via de nieuwbrief van  CadNotes:
http://www.cad-notes.com/custom-autocad-secondary-command/?utm_source=CADnotes+newsletter&utm_campaign=514e69860f-MC_AutoCAD_articles_campaign&utm_medium=email&utm_term=0_65d9e5bbfa-514e69860f-65081873&mc_cid=514e69860f&mc_eid=db9445ad9a (http://www.cad-notes.com/custom-autocad-secondary-command/?utm_source=CADnotes+newsletter&utm_campaign=514e69860f-MC_AutoCAD_articles_campaign&utm_medium=email&utm_term=0_65d9e5bbfa-514e69860f-65081873&mc_cid=514e69860f&mc_eid=db9445ad9a)

Denk dat dit jou ook wel zal interesseren.
Titel: Re: LIsp Offset
Bericht door: Bart Dheere op di 06 10 2015, 17:38:06
Julien,

U bent vooruitziend. Super eigenschap van je.

Groeten en bedankt
Bart