yoin

Reimer

Beste,

ik wil graag de bestandsnaam van mijn tekening gebruiken in een lisp om een nieuwe versie op te slaan. Nu zit ik er echter mee dat ik bij "getvar dwgname" de bestandsnaam inclusief extensie krijg (drawing1.dwg). Nu wil ik mij tekening opnieuw opslaan met een extra toevoeging (drawing1_versie1.dwg).
Weet iemand hoe ik de extensie kan weghalen nadat ik de bestandsnaam heb opgevraagd? De bestandsnamen hebben niet altijd hetzelfde aantal karakters.

Groeten,
Reimer

Reimer

Na een uurtje puzzelen ben ik er zelf uitgekomen.

(setq dwgnaamext (getvar "dwgname"))                       ;vraag de bestandsnaam met extensie op
(setq naamlengte (strlen dwgnaamext))                      ;vraag de lengte van de bestandsnaam incl. extensie op
(setq dwgnaam (substr dwgnaamext 1 (- naamlengte 4)))      ;pas de bestandsnaam aan (verwijder de extensie)
(setq dwgnaam_versie1 (strcat dwgnaam "_versie1.dwg"))     ;voeg _versie1.dwg toe aan de bestandsnaam


Altijd leuk om wat uit te zoeken. :D

Reimer

Joop

Dit gaat wat eenvoudiger:
( vl-filename-base "filename")
Returns the name of a file, after stripping out the directory path and extension
  :wink:
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

Reimer

Bedankt voor de tip Joop. Dit klinkt een stuk eenvoudiger.
Deze notatie is voor mij echter onbekend. Ik ben druk aan het oefenen met het leren schrijven van Lisproutines. Is jouw notatie soms iets van Visual Lisp? Bestaat er een overzicht van deze opdrachten?

Reimer

Joop

Dit is inderdaad visual lisp (vandaar vl-) en wordt normaal als commando/opdracht geprogrammeerd.

LET OP:
Als je visual lisp opdrachten gebruikt moet je als eerste in je programma (vl-load-com) plaatsen.
Dus VOOR een eventuele defun. Hiermee wordt dan de visual lisp funtionaliteit geladen.

De beschrijving van deze opdrachten vindt je net als alle andere in de help file. :P
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".