FastFiber
Menu

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.

Toon bijdragen Menu

Berichten - Jacob

#1
Autolisp / Re: Dynamic blocks kopiëren
wo 28 05 2025, 07:01:04
Beste Reimer,

Inderdaad lukt dit wel en alle dynamische functies blijven behouden.  :ole:
De verschillende commando's in de code had ik niet scherp.

Op een gegeven moment is het meer de sport om het voor elkaar te krijgen....

Bedankt voor je hulp.
#2
Autolisp / Re: Dynamic blocks kopiëren
do 22 05 2025, 16:39:00
Dag Reimer en Eddy,

Bedankt voor jullie input.
Ik heb jullie uitleg 3 keer doorggelezen, maar krijg het neit voor elkaar om de lisp te starten.

Het bestand heet "CopyBlockDefinition.lsp", deze wordt automatisch geladen met "acaddoc.lsp"
Via de toolpallet wil ik de lisproutine uitvoeren.
Normaal start ik met "^C^CCopyBlockDefinition"
Na de uitleg  heb ik het geprobeerd met "^C^CLMCopyBlockDefinition" en met "^C^CLM:CopyBlockDefinition"
Maar ik blijf de melding houden dat hij het commando niet kent.

Wellicht lees ik het niet goed of zie wat over het hoofd.
Hoor graag.
#3
Autolisp / Re: Dynamic blocks kopiëren
ma 19 05 2025, 07:45:28
Reimer,

Mooi dat het is gelukt, maar bij mij geeft hij aan dat hij het commando niet kent.
Ik begin te vermoeden waar het door komt.

Bij de meeste lisproutines is de opbouw: "defun c:commando"
Nu is de "C" vervangen voor "LM".
Bij andere lisproutines van Lee Mac waarin ook "LM" wordt gebruikt kreeg ik ook niet aan de gang.

Nu is de vraag; moet ik lisproutines met "LM" anders gebruiken/benaderen?
#4
Autolisp / Re: Dynamic blocks kopiëren
ma 12 05 2025, 08:50:06
Ha ha, ik schaam me.  :oops:
Visibility gebruik ik al jaren, maar wist niet dat het Visibility State heet.

Maar hij geeft een foutmelding op het commando die in de lisp staat, niet op het block.
#5
Autolisp / Re: Dynamic blocks kopiëren
vr 09 05 2025, 07:19:00
Julien,

Waar en hoe kan ik een "visibility state" toevoegen?
Eerlijk gezegd is dat bij mij onbekend.
#6
Autolisp / Re: Dynamic blocks kopiëren
do 08 05 2025, 13:28:35
Reimer,
De Lisp van LM geeft de foutmelding dat hij het commando niet kent.
Ook na aanpassen van de namen

Eddie,
Dat is erg omslachtig.
We doen het nu zo:
We hebben een DB in de bibliotheek, bijv. wand01.
Deze laden we in een werktekening.
Vervolgens zien we in het project dat het wand01-block nog een extra onderdeel moet hebben, die voegen we toe in wand01.
We tekenen verder en moeten nog een wand maken zonder dat extra onderdeel.
Laden we nu wand01 weer in uit de bibliotheek, dan zit dat extra onderdeel er ook in.
Nu openen we in de bibliotheek wand01 met Block Editor en kiezen dan via het menu Safe Block As
Geven een andere naam bijv. wand02 en laden die in de werktekening.

De laatste 2 regels wilde ik in een lisp zetten
Dus een kopie met andere naam (bijv. A toevoegen) in de bibliotheek van een geselecteerd block, deze dan weer in de werktekening laden.
#7
Autolisp / Re: Dynamic blocks kopiëren
do 08 05 2025, 12:20:13
Ik zie nu jullie reacties pas, had geen seintje gehad, ga er mee aan de gang.
Bedankt iig

#8
AutoCAD probleem / Re: Sneltoetsen traag
vr 25 04 2025, 11:39:13
Ik heb het met hulp van ChatGPT opgelost.

Hij is het bestand "acad.pgp" kwijt.
Zoek deze op met de verkenner.

Voeg het pad toe via Options
Support File Searck Path

En nog even opnieuw opstarten.
#9
Dag,

Systeem: Autocad architecture 23 en 24
Daarop draait HSB-cad

We hebben hier op verschillende systemen een probleem.
De sneltoetsen werken niet goed
Bijv. M van move kent hij niet meer
Type te verder MO dat kent hij het wel weer.

Mijn gevoel zegt dat hierdoor onderstaande code in een toolpalletknop ook niet meer werkt?
^C^C_osnapz;1;vs;2;-v;t;qsave;
Weet iemand wat hier aan de hand kan zijn?
#10
Autolisp / Dynamic blocks kopiëren (opgelost)
di 22 04 2025, 15:55:47
Als wij wat aanpassingen in een blok doen in de huidige tekening en we laden datzelfde blok weer uit onze bibliotheek dan voegt hij hetzelfde blok in zoals die al in de huidige tekening zit.

We maken dan in de bibliotheek even een kopie met een andere naam en die voegen we in.
Dat willen we eigenlijk in een lisp zetten met de naam "KopieBlock"

Via Chat GTP ben ik druk bezig geweest om een Dynamic block te kopiëren en met een andere naam te plakken.
Dat loopt op verschillende manier steeds vast bijv:
- Het block is daarna niet dynamisch meer
- Je krijg allemaal losse lijnstukken
- Diverse errors in de commandline

Is hetgeen ik wil wel mogelijk?

Onderstaand 1 van de codes die heen en weer zijn gegaan.
(defun c:KopieerBlokSel ( / ent entname oldName newName ss)
  (prompt "\nSelecteer een blok om te kopiëren: ")
  (setq ent (car (entsel)))

  (if (and ent (= (cdr (assoc 0 (entget ent))) "INSERT"))
    (progn
      (setq entname (cdr (assoc 2 (entget ent))))
      (setq oldName entname)
      (setq newName (strcat oldName "_01"))

      ;; Controleer of de nieuwe bloknaam al bestaat
      (if (tblsearch "block" newName)
        (princ (strcat "\nBlok '" newName "' bestaat al."))
        (progn
          ;; Verzamel alle entiteiten in originele blok
          (setq ss (ssadd))
          (vlax-for obj (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) oldName)
            (ssadd (vlax-vla-object->ename obj) ss)
          )

          ;; Maak nieuwe blokdefinitie met nieuwe naam
          (command "_-BLOCK" newName '(0 0 0) ss "")

          (princ (strcat "\nBlok '" oldName "' gekopieerd als '" newName "'."))
        )
      )
    )
    (princ "\nSelectie is geen blok.")
  )
  (princ)
)
#11
Goedemorgen Bart,

Het is gelukt, ook met Autocad Architecture.
Bedankt.
#12
Bart,

Dat is wat ik zocht.
Ik ga er mee aan het testen, hopelijk lukt het ook met AutoCad Architecture.

Bedankt.
#13
We zijn er uit met de code in de TP
Vooralsnog laten we het even zo.

Allen bedankt.
#14
@Roy,
Die code is juist. de 2 commando's worden allebei correct afgewerkt.
Nu probeer ik dat zelf uit te breiden naar meer commando's
Bedankt   :D

@Bart,
Ik heb zelf ook aan een lisp gedacht, maar daar ben ik niet zo in thuis.
Wellicht kom ik daar alsnog op uit. Ook bedankt.
#15
Bij de eerste code gaat hij alles wat in beeld is selecteren en geeft de volgende melding

Command: _Select
Select objects: (DEFUN c:palettecommand()(hsb_scriptinsert "WV_T-Langsbewerking" ""))
C:PALETTECOMMAND
Select objects: palettecommand
*Invalid selection*
Expects a point or Window/Last/Crossing/BOX/ALL/Fence/WPolygon/CPolygon/Group/Add/Remove/Multiple/Previous/Undo/AUto/SIngle/SUbobject/Object
Select objects: _p
6 found
Select objects: _HSB_DB_ANALYSE
*Invalid selection*
Expects a point or Window/Last/Crossing/BOX/ALL/Fence/WPolygon/CPolygon/Group/Add/Remove/Multiple/Previous/Undo/AUto/SIngle/SUbobject/Object
Select objects: *Cancel*


Bij de 2e code geeft hij onderstaande weer, dan moet ik wel een selectie maken, maar de commando's worden niet gedaan.

Command: Loading AEC Design Center UI...
Loading AEC RoomBook Tool...
Command:
Command:
Command: (ssget)
Select objects: (DEFUN c:palettecommand()(hsb_scriptinsert "WV_T-Langsbewerking" ""))
Can't reenter LISP.
*Invalid selection*
Expects a point or Window/Last/Crossing/BOX/ALL/Fence/WPolygon/CPolygon/Group/Add/Remove/Multiple/Previous/Undo/AUto/SIngle
Select objects: Specify opposite corner: 6 found
Select objects:
<Selection set: 299>
Command:
yoin