CADsite

  • wo 12 05 2021, 22:47:03
  • Welkom, gast
Log in of registreer jezelf.

Login met gebruikersnaam, wachtwoord en sessielengte
Geavanceerd zoeken  

Nieuws:

Toon bijdragen

Deze sectie stelt je in staat om alle bijdragen van dit lid te bekijken. Je kunt alleen de bijdragen zien waar je op dit moment toegang toe hebt.

Topics - Reimer

Pagina's: [1] 2 3 ... 8
1
AutoCAD probleem / Bricscad melding Cached metafiles
« Gepost op: do 31 05 2018, 22:07:15 »
Mijn collega gebruikt al enige tijd Bricscad V18. Bij het activeren van een layout tab krijgt hij steeds de melding:
Cached metafiles: [getal]
Reused metafiles: [getal]

Bij één tekening loopt dit getal inmiddels op tot meer dan 100.000. Het duurt enkele minuten voordat de layout op het scherm verschijnt. Dezelfde tekening werkt op een ander werkstation prima heb ik begrepen.

We komen er maar niet achter wat BricsCad hier doet en wat we er aan kunnen veranderen.
Kent iemand dit en is er een oplossing voor ons?

Groeten,
Reimer

2
Beste,

Een collega heeft niet annotatief block gemaakt met daarin een attribuut die wel annotatief is.
Bij het maken van het block zijn 3 schalen aan het attribuut toegevoegd. Ik ontdekte dat het attribuut alleen de schaal krijgt toegewezen die actief is op het moment van invoegen van het block in de tekening.
Door te werken met AnnoAutoscale is het mogelijk om meer schalen aan het attribuut toe te voegen. Wanneer ik echter meerdere attributen heb dan kan ik op deze manier geen verschillende schalen per attribuut instellen.

Ik vraag me af of het mogelijk is om de annotatie schalen van objecten ín een block te beheren. Heeft iemand hier ervaring mee?

Groeten,
Reimer.

3
AutoCAD tips / Trage Civil3D tekeningen verhelpen (R2014 - R2017)
« Gepost op: ma 23 10 2017, 12:48:25 »
Door problemen met zeer traag werkende tekeningen kwam ik op het volgende onderwerp:
https://forums.autodesk.com/t5/autocad-civil-3d-forum/performance-enhancement-tool/td-p/6528814

Wij werken met Civil3D en MAP3D 2015. Het duurde steeds vaker meer dan 2 minuten voordat een tekening was geopend op opgeslagen. Ook de layermanager en purge werkten erg traag.
De oplossing uit bovenstaande post heeft het probleem in een klap opgelost.
Eind van dit jaar gaan we over naar 2018. Maar voor iedereen die nog met R2014 t/m R2017 werkt kan het veel tijd en frustratie schelen.

Groeten,
Reimer

4
AutoCAD probleem / objecten verdwijnen na UNDO
« Gepost op: do 19 10 2017, 09:34:22 »
Wij werken met MAP en Civil3D 2015. Steeds vaker komt het voor dat na een UNDO actie een (p)line verdwijnt. Het object is ook echt verdwenen uit de tekening. Recover/audit helpt helaas niet. Meerdere collega's ervaren nu af en toe dit probleem.

Herkent iemand dit? Ik kan nog niets hierover vinden op internet.

Groeten,
Reimer

5
Autolisp / Wblock als copy paste alternatief
« Gepost op: ma 11 09 2017, 10:20:48 »
Ik maak veel gebruik van ctrl+c en ctrl+v. Nu merk ik dat dat op ons systeem steeds trager werkt, vooral bij het plakken. Ik heb ook wel eens gelezen dat iemand dacht dat er eerder errors in je dwg ontstaan wanneer je via het klembord van Windows kopieert. Daarom probeer ik een lisp te maken om via Wblock te kopiëren en plakken. Hieronder mijn eerste opzet.
Ik ben benieuwd wat anderen hier van vinden. Of iemand grote risico's ziet, of liever nog verbeteringen!

Voor het plakken (P00) ben ik vooral aan het zoeken naar een methode waarbij het wblock geëxplodeerd in de tekening komt (ook als deze op een gelockte laag ingevoegd wordt) en waarna de blockdefinitie weer verwijderd wordt. Purge werkt dan weer erg langzaam, vandaar dat ik een stukje visual-lisp van internet heb gebruikt.

(defun c:c00 ( / OLDECHO SS)
  (setq OLDECHO (getvar 'cmdecho))
  (setvar 'cmdecho 0)
;select objects:
  (or
    (setq SS (ssget ":L-i"));add preselected objects (exclude locked layers)
    (setq SS (ssget "_:L"));select objects (exclude locked layers)
  );_or
  (command);deselect SS
;check file and folder, execute wblock:
  (if SS
    (if (findfile "c:\\temp")
      (progn
        (command "_.ucs" "w")
        (if (findfile "c:\\temp\\cpblock.dwg")
          (command "_.wblock" "c:\\temp\\cpblock.dwg" "y" "" '(0 0) SS "");folder is found, block overwritten
          (command "_.wblock" "c:\\temp\\cpblock.dwg" "" '(0 0) SS "");forder is found, block created
        );_if blk exists
        (command "_.ucs" "p")
      );_progn
      (prompt "\De ingestelde map (c:\\temp) is niet gevonden! -EINDE-")
    );_if dir exists
    (prompt "\Geen objecten geselecteerd! -EINDE-")
  );_if SS
  (command "_.oops")
  (prompt "\nCOPY00, objecten zijn gekopieerd naar c:\\temp\cpblock.dwg. Gebruik P00 om te plakken.")
  (setvar 'cmdecho OLDECHO)
  (print)
);_defun


(defun c:p00 ( / OLDECHO BLK)
  (if (not (tblsearch "BLOCK" "cpblock"))
    (if (findfile "c:\\temp\\cpblock.dwg")
      (progn
        (setq OLDECHO (getvar 'cmdecho))
        (setvar 'cmdecho 0)
        (command "-insert" "c:\\temp\\cpblock.dwg")
        (command)
        (setvar 'insname "*cpblock")
        (command "ucs" "w")
        (command "-insert" "" '(0 0) "1" "0")
        (command "ucs" "p")
        (vl-load-com)
        (and (setq blk (tblobjname "block" "cpblock"))
          (vla-delete (vlax-ename->vla-object (cdr (assoc 330 (entget blk)))))
        );_and
        (setvar 'cmdecho OLDECHO)
        (prompt "P00 is gereed")
      );_progn
      (prompt "\nHet kopiebestand c:\\temp\\cpblock.dwg is niet gevonden. -EINDE-")
    );_if c:\\temp\\cpblock
    (prompt "\nHet block CPBLOCK bestaat al in de tekening. Verwijder deze eerst! -EINDE-")
  );_if cpblock
  (print)
);_defun

Groeten,
Reimer


6
Autolisp / Controleren of een plotter echt of virtueel is
« Gepost op: vr 16 12 2016, 13:44:43 »
Ik ben al een tijdje bezig met een routine om geautomatiseerd meerdere afdrukken van een layout te plotten.
Omdat ik niet weet met welke plotter de gebruiker werkt wil ik eerst controleren of de plot-instellingen goed staan voordat ik begin met afdrukken.

Controle op het bestaan van de plotter en het ingestelde papier lukt: http://www.cadsite.be/smf/index.php?topic=6546.0

Waar ik nu op vast loop is het feit dat de gebruiker kan werken met een echte of een virtuele (pdf-) printer.
Bij een echte printer moet ik werken met:
(command "_.-plot" "n" "" "" "" "n" "n" "y")
Bij een virtuele printer met:
(command "_.-plot" "n" "" "" "" (FILENAME) "n" "y")

Kan iemand mij verder helpen? Ik moet dus zien te achterhalen of een printer echt of virtueel is. Ik ben al de hele dag aan het zoeken maar vindt nog geen oplossingsrichting.

Reimer

7
Autocad babbelhoekje / Kan ik de Bricscad licentie van mijn collega lenen?
« Gepost op: ma 12 12 2016, 11:53:09 »
Ik zou graag af en toe Bricscad willen gebruiken om mijn (autocad) lisproutines te testen in Bricscad.
Mijn collega werkt op kantoor met Bricscad. Ik werk elders met autocad. Kun je een Bricscad licentie exporteren / uitlenen? Of bestaat er een thuiswerk licentie?

Groeten,
Reimer

8
Autolisp / Controleren of ingestelde papier bestaat (opgelost)
« Gepost op: ma 12 12 2016, 11:37:51 »
Beste,

Ik wil een lisp-routine maken die controleert of de plotter en het ingestelde papier wel bestaan van een opgegeven layout-naam. Ik heb op veel websites visual-lisp code gevonden om dit te doen. Helaas heb ik zelf weinig kennis van visual-lisp. Het lukt om de plotter te controleren (zie code). Het lukt nog niet om te bepalen welk papier is ingesteld. Weet iemand hoe dit moet?
Verder kom ik de termen CanonicalMediaNames en LocalMediaNames tegen. Weet iemand wat dit betekent?

(defun c:checkplotter ( / GetPlotDevices LONAME LONAMEVL AD EXISTINGPLOTTERS PLOTTER)

  (defun GetPlotDevices (AD LONAME /)
    (vla-RefreshPlotDeviceInfo
      (vla-get-activelayout AD)
    )
    (vlax-safearray->list
      (vlax-variant-value
        (vla-getplotdevicenames
          (vla-item (vla-get-layouts AD) LONAME)
        )
      )
    )
  );_defun GetPlotDevices

  (setq LONAME (getstring "\nGeef de layoutnaam op: "))
  (setq LONAMEVL (vla-item (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) LONAME))
  (setq AD (vla-get-activedocument (vlax-get-acad-object )))
  (setq EXISTINGPLOTTERS (GetPlotDevices AD LONAME))
  (setq PLOTTER (vla-get-ConfigName LONAMEVL))
  (if (member PLOTTER EXISTINGPLOTTERS)
    (print (strcat "\nDe printer   " PLOTTER "   bestaat."))
    (print (strcat "\nDe printer   " PLOTTER "   bestaat NIET."))
  );_if
  (print)
);_defun

Groeten,

Reimer

9
Autolisp / select nth previous object (on layout) (opgelost)
« Gepost op: wo 02 11 2016, 14:52:22 »
Op internet kwam ik de volgende code tegen:
(defun countback (steps / ms)
 (vl-load-com)
 (setq ms (vla-get-modelspace (vla-get-activedocument
 (vlax-get-acad-object))))
 (vlax-vla-object->ename (vla-item ms (- (vla-get-count ms) steps)))
 )
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/2nd-from-the-last-object-in-autocad-database/td-p/807274

Met (countback 2) krijg je het op een na laatste object uit de tekening.
Dit werkt alleen voor modelspace objecten. Helaas weet ik niets van visual lisp. Weet iemand of het mogelijk is om hetzelfde te doen voor alle objecten, dus ook in de layouts?

Reimer

10
AutoCAD probleem / Kan ik een fillet maken met constraints
« Gepost op: wo 20 07 2016, 08:54:54 »
Beste allen,

Graag wil ik met zo min mogelijk werk trajectlijnen op een kruispunt tekenen (t.b.v. ontruimingstijden). Op het oog wil ik twee rechtstanden met daartussen een boog plaatsen. De boog moet een van de volgende waarden krijgen: 10,15,20,25,30 of 35 meter.
Twee lijnen en een fillet zijn de snelste methode wanneer ik ze in één keer op de juiste plek heb. Vaak moet ik echter schuiven met de lijnen om de best passende vorm te krijgen. Dan moet ik dus steeds de boog verwijderen en opnieuw maken.
Het bijgevoegde dynamische block doet eigenlijk al wel wat ik wil. Ik plaats het block en bewerk twee punten zodat ik de gewenste vorm krijg. Het enige probleem is dat de rechtstand verschuift wanneer ik de straal van de boog aan pas. Als het traject past explodeer ik het block om een pline over te houden.

Weet iemand of ik mijn block zo kan maken dat de boog echt als een fillet gaat werken?

Groeten,
Reimer

11
Autolisp / waarom is er opeens COMMAND-S?
« Gepost op: do 10 12 2015, 13:10:45 »
Ik krijg steeds meer te maken met lisp-routines die niet werken. Na wat zoeken kom ik op de functie COMMAND-S die vanaf R2015 blijkbaar nieuw is naast de COMMAND functie. Als ik het goed begrijp werken lisp-routines waarbij COMMAND is gebruikt in de *error* niet meer in alle gevallen.

Wat ik uit de help denk te hebben begrepen is dat COMMAND elke stap direct verwerkt in acad terwijl COMMAND-S eerst de hele functie verwerkt en alleen de uitkomst plaatst in acad.

;;onderstaande werkt wel:
(command "._line")
(command "2,2" "12.25,9" "")

;;onderstaande werkt niet:
(command-s "._line")
(command-s "2,2" "12.25,9" "")

Tot zover denk ik het te snappen. Nu weet ik alleen niet waarom dit in bestaande lisp-routines met de *error* fout zou gaan. Ik wilde voor het eerst sinds lange tijd BaBe weer eens gebruiken. Deze geeft echter de foutmelding:
Cannot invoke (command) from *error* without prior call to (*push-error-using-command*).
Converting (command) calls to (command-s) is recommended.


Is iemand bekend met het bovenstaande? Hoe moet ik omgaan met *error* en command-s?
Het blijkt trouwens dat de problemen bestaan in Civil3D2015 en niet in MAP2015 (terwijl deze uit dezelfde installatie komen). Ook MAPTRIM werkt niet meer in Civil, wel in MAP.

Reimer

12
Autolisp / Hoe zet ik tekst in het grafische venster met GRVECS?
« Gepost op: vr 20 11 2015, 13:35:22 »
Ik wil graag in een lisproutine een tekst laten zien in het grafische scherm. Ik dacht dat ik hiervoor grtext nodig had, maar die werkt niet met het grafische scherm. Op de site van Lee Mac zie ik een voorbeeld van wat ik ongeveer wil, maar ik kan zijn code niet zo snel doorgronden. http://www.lee-mac.com/grtext.html. Op de een of andere manier zet hij blijkbaar een tekst om in vertors, die hij met grvecs op scherm laat zien.

Heeft iemand hier ervaring mee?

Reimer

13
Is het mogelijk om ergens in mijn workspace bepaalde gegevens te laten tonen. Ik zit te denken aan bijvoorbeeld de systeemvariabele PLINETYPE, deze staat nog al eens verkeerd. Op deze manier kan ik in één oogopslag zien welke instellingen actief zijn.
Voorheen stond onderin het scherm de coordinaten van je muisaanwijzer weergegeven. Deze zie ik in acad 2015 niet meer (ik mis ze niet) maar dit is wel het principe waar ik aan zit te denken. Wellicht kan het via een toolbar.

Reimer

14
Autolisp / Arc on (p)line, hoe selecteren met OSNAP
« Gepost op: vr 17 04 2015, 08:40:03 »
Beste lispers,

op verzoek van collega's probeer ik een routine te maken waarmee ik een boog kan tekenen vanaf een (p)line, met een opgegeven radius. Ik vond op internet een stukje code waarmee ik de richting van de lijn kan bepalen op de opgegeven locatie. De functie werkt al wel, ik zou allen graag bij het selecteren van de lijn gebruik willen maken van de actieve OSNAP. Wat nu gebeurd is dat PT wordt bepaald door NEA op het geselecteerde object. Ik wil meestal uitgaan van END, maar het liefste van de OSMODE die door de gebruiker is ingesteld.

PS. Wat is de beste manier om er voor te zorgen dat alleen lijn-objecten worden geselecteerd? Ik heb wel verschillende mogelijkheden gezien, maar vraag me af wat de beste (kortste) is.

;Arc on (p)line
(defun c:AOL ( / RADIUS ESEL POL PT ANG PT2 ANG2 PCEN OLDSNAP)
  (prompt (strcat "Geef de radius <" (rtos (getvar "filletrad") 2 (getvar "luprec")) ">"))
  (setq RADIUS (getreal))
  (if (= RADIUS nil)
    (setq RADIUS (getvar "filletrad"))
    (setvar "filletrad" RADIUS)
  )

; \/ code van internet
  (vl-load-com)
  (setq
    ESEL (entsel "\nSelect een (poly)line: ")
    POL (car ESEL)
    PT (osnap (cadr ESEL) "nea"); use Osnap to ensure it's really ON the Polyline
    ANG
      (angle
        '(0 0 0)
        (vlax-curve-getFirstDeriv
          POL
          (vlax-curve-getParamAtPoint POL PT)
        ); end 1st deriv
      ); end angle & ang
  )
; /\ code van internet

  (setq PT2 (getpoint pt "\nGeef een zijde aan: "))
  (setq ANG2 (angle PT PT2))
  (if (minusp (sin (- (angle pt pt2) ang)))
    (setq PCEN (polar PT (- ANG (* 0.5 PI)) RADIUS))
    (setq PCEN (polar PT (+ ANG (* 0.5 PI)) RADIUS))
   )
  (setq OLDSNAP (getvar "osmode"))
  (setvar "osmode" 0)
  (command "_arc" PT "c" PCEN)
  (setvar "osmode" OLDSNAP)
)

15
Autolisp / dialoogbox verwerken in lisp-code
« Gepost op: di 20 05 2014, 14:57:35 »
Ik kom wel eens lisproutines tegen waarbij een dialoogbox gebruikt wordt zonder een dcl-file. Ik vermoed dat dit geregeld wordt doordat de lisproutine een (tijdelijk) dcl-bestand aanmaakt. Kan iemand dit bevestigen? Of is er een andere methode?

Reimer

Pagina's: [1] 2 3 ... 8