FastFiber

Dezelfde blocken, verschillende namen (opgelost)

Gestart door pedorie, di 21 05 2019, 08:13:16

Vorige topic - Volgende topic

pedorie

Beste,

Ik heb een tekening omgezet van .dgn naar .dwg en in de tekeningen zijn diverse dezelfde blocken (bomen).
Deze 75 blocken wil ik vervangen door een eigen block. Normaal vervang ik deze op de standaard manier maar nu blijken deze blocken allemaal verschillende namen te hebben "boom bestaand56" bijv.

Is er een manier waarop ik deze 75 blocken met verschillende namen kan vervangen door 1 block?

Autocad Civil 3D 2014

hulpje

Beste Pedorie,

In 1x lijkt me lastig, misschien kun je met het commando BLOCKREPLACE, wat stoeien.....

Mvg. Richard
HELAAS BESTAAT CADToppers.com niet meer
ACP-er (AutoDesk Certified Professional)

julien

Frustrerend hé dat soort van omzettingen...
Ik krijg ook vaak zo'n tekeningen binnen. Liefst nog overladen met wipouts.  :auw:

Zou je hiermee geholpen kunnen worden?
https://www.cadstudio.cz/en/download.asp?file=RIblock

bart

hoe verschillend zijn die namen ?
als ze allemaal boom....... heten kan je ze volgens mij gewoon in 1 keer vervangen als je een wildcart toe te passen in de naam (je moet het commando dan op de commandline uitvoeren)


dus boom*  staat voor alle blocken die met boom beginnen
*boom* staat voor alle blocken waar boom in voorkomt
boom??  staat voor alle blocken die boom + 2 extra tekens heten

ps op het moment is er geen acad licentie beschikbaar dus ik kan het niet even testen
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

H

In het verlengde van de reactie van Bart kun je met quickselect zoeken naar andere gedeelde parameters.

Selecteer een paar blocks, kijk in het properties venster in velden waar geen *VARRIES* in staat en je hebt een gedeelde parameter.

Dan heb je ze in ieder geval allemaal geselecteerd en kun je dan wellicht gemakkelijk alles vervangen.

gr H.

bart

de standaard express tool blijkt niet met vraagtekens en sterretje te kunnen omgaan
maar met de onderstaande lisp werkt dat wel
en kan je in 1 keer alle blokken die bijvoorbeeld boom* heten vervangen



;Verwissel een block in je tekening met een ander block gebruik
;makende van het insertion point, layer en schaal van je huidige
;block.
;Written By: Darrell Lyons
;Meer lisp files op:
;http://users.belgacom.net/autocad

(defun c:wissel(/ AR CLYR BLK1 BLK2 SS LEN INFO SCL INSRT LYR)
  (setq AR(getvar "attreq"))
  (setvar "attreq" 0)
  (setq CLYR(getvar "clayer"))
  (setq BLK1(getstring"\nNaam te vervangen block:"));____REM this line for Automation
  (setq BLK2(getstring"\nNaam in te voegen block:")) ;____REM this line for Automation
;(setq BLK1 "blname") ;__________________________________Insert block name for Automation
;(setq BLK2 "blname") ;__________________________________Insert block name for Automation
  (setq SS(ssget "X"(list(cons 2 BLK1))))
  (setq LEN(sslength ss))                         
  (setq INDEX 0)                                 
  (repeat LEN                                     
   (setq BLK1(ssname ss index))
   (setq INFO(entget BLK1))
   (entdel BLK1)
   ;(command "purge" "b" "" "n")
   (setq SCL(CDR (assoc 42 INFO)))
   (setq INSRT(CDR (assoc 10 INFO)))
   (setq LYR(CDR (assoc 8 INFO)))
   (setvar "clayer" LYR)
   (command "insert" BLK2 INSRT SCL "" "")
   (setq INDEX (+ 1 INDEX))               
  )
(setvar "attreq" AR)
(setvar "clayer" CLYR)
(princ)
)
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

pedorie

Joehoe!!! het werkt, bedankt allen voor het meedenken de uiteindelijk oplossing!
Autocad Civil 3D 2014

FastFiber