CADsite

  • do 24 05 2018, 00:20:30
  • Welkom, gast
Log in of registreer jezelf.

Login met gebruikersnaam, wachtwoord en sessielengte
Geavanceerd zoeken  

Nieuws:

Pagina's: [1]   Omlaag

Auteur Topic: reload hatch patterns  (gelezen 382 keer)

gery

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 375
    • Bekijk profiel
reload hatch patterns
« Gepost op: ma 12 02 2018, 15:43:27 »

Ik heb een heleboel tekeningen waarin "Amerikaanse" arceerpatronen geladen zijn. Ik zou deze Amerikaanse definities willen vervangen door Europese definities, naar analogie met het vervangen van de lijntype definities:(command "_.-linetype" "_Load" "*" "acadiso.lin" "")
(command "_.-purge" "_ltypes" "*" "_No")
Heeft iemand een idee hoe ik ditzelfde kan bereiken voor arceerpatronen?
Gelogd
AutoCAD 2012 - Windows 7

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1395
  • BricsCAD 18
    • Bekijk profiel
    • www.b-k-g.nl
Re: reload hatch patterns
« Reactie #1 Gepost op: di 13 02 2018, 13:42:56 »

Bij hatches werkt dit anders. Zij hebben ook een definitie maar deze wordt per hatch opgeslagen. Je zult dus alle hatches moet 'aflopen'.

Deze code werkt in BricsCAD:
; (UpdateHatchToMetric (vlax-ename->vla-object (car (entsel))))
(defun UpdateHatchToMetric (obj)
  (if (= achatchpatterntypepredefined (vla-get-patterntype obj))
    (vla-put-patternscale obj (/ (vla-get-patternscale obj) 25.4))
  )
)

Voordat de code wordt gebruikt moet de MEASUREMENT variabele goed zijn ingesteld (en wellicht moet je de tekening heropenen).

Om alle hatches te wijzigen kun je met vlax-for alle blocks en per block alle geneste objecten aflopen. Ik neem aan dat dit een gekende werkwijze is.
Gelogd

gery

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 375
    • Bekijk profiel
Re: reload hatch patterns
« Reactie #2 Gepost op: di 13 02 2018, 21:06:28 »

Bedankt voor je antwoord Roy, ik ga jouw code eens bestuderen en proberen te verwerken in een loop.

Edit: de code werkt voor individuele hatches, nu nog verwerken in een iteratie.
« Laatst bewerkt op: di 13 02 2018, 23:07:50 door gery »
Gelogd
AutoCAD 2012 - Windows 7

EddyBeerke

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 2247
  • 1d CADSITE.be niet bezoeken = 1 dag niet geleefd!
    • Bekijk profiel
    • Mijn site
Re: reload hatch patterns
« Reactie #3 Gepost op: wo 14 02 2018, 11:36:54 »

Acad leest gewoon een *.pat bestand waar de definitie in staat.
MEASUREMENT en MEASUREINIT beide op 1 zetten.
Dan kijkt acad alleen naar de Metric instellingen.

; (UpdateHatchToMetric (vlax-ename->vla-object (car (entsel))))
(defun UpdateHatchToMetric (obj)
  (if (= achatchpatterntypepredefined (vla-get-patterntype obj))
    (vla-put-patternscale obj (/ (vla-get-patternscale obj) 25.4))
  )
)
Met deze code (die werkt ook in Acad) wijzig je dus alleen de schaal van een een arcering met de factor 25.4
Wel handig natuurlijk  :vreegoe:

Al met al is het dus gewoon de schaal aanpassen van de arceringen, mits je de benodigde *.pat bestanden hebt, anders lukt dat niet.
Ik vind het nog steeds een tekortkoming van Autodesk dat de custom arceerpatronen (*.pat) niet met een e-transmit mee gestuurd worden en dus bij de "Include options" staan (hiet staat bv wel de "[] Include fonts").
Gelogd

gery

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 375
    • Bekijk profiel
Re: reload hatch patterns
« Reactie #4 Gepost op: wo 14 02 2018, 12:27:38 »

; (UpdateHatchToMetric (vlax-ename->vla-object (car (entsel))))
(defun UpdateHatchToMetric (obj)
  (if (= achatchpatterntypepredefined (vla-get-patterntype obj))
    (vla-put-patternscale obj (/ (vla-get-patternscale obj) 25.4))
  )
)
Met deze code (die werkt ook in Acad) wijzig je dus alleen de schaal van een een arcering met de factor 25.4.
Op het moment dat je de schaal van een arcering in de tekening aanpast, wordt ook automatisch de definitie van het betreffende arceerpatroon uit het arceerpatroon-definitiebestand van het gekozen eenhedenstelsel ingelezen. Het eenhedenstelsel kies je a.h.v. systeemparameter "measurement" (wordt bewaard in de tekening). Systeemparameter "measureinit" (wordt bewaard in het register) heeft daarop geen invloed.
« Laatst bewerkt op: wo 14 02 2018, 13:39:14 door gery »
Gelogd
AutoCAD 2012 - Windows 7

bart

  • Forum medewerker
  • forumverslaafde
  • *****
  • Offline Offline
  • Berichten: 1887
    • Bekijk profiel
Re: reload hatch patterns
« Reactie #5 Gepost op: wo 14 02 2018, 13:58:19 »

zijn de tekeningen verders wel iso?
of zijn ze ook  in inch getekend?

Als dat laatste het geval is kan je ze dan niet in zijn geheel inserten in een iso template
als alles goed staat ingesteld moet het omzetten dan vanzelf gaan incl. arceringen.


Gelogd
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

roy_043

  • forumverslaafde
  • ******
  • Offline Offline
  • Berichten: 1395
  • BricsCAD 18
    • Bekijk profiel
    • www.b-k-g.nl
Re: reload hatch patterns
« Reactie #6 Gepost op: do 15 02 2018, 11:27:55 »

... vanzelf gaan incl. arceringen.
Een test met BricsCAD laat zien dat dit niet helemaal het geval is. De 'imperial' arcering wordt correct weergegeven maar heeft nog steeds een andere definitie.
Als in de voorbeeldtekening het block wordt geëxplodeerd zijn er twee arceringen in de tekening, één met een schaal van 254 en de ander met een schaal van 10, terwijl ze er identiek uitzien.
Gelogd

gery

  • vaste forumklant
  • *****
  • Offline Offline
  • Berichten: 375
    • Bekijk profiel
Re: reload hatch patterns
« Reactie #7 Gepost op: do 15 02 2018, 11:51:02 »

... vanzelf gaan incl. arceringen.
Een test met BricsCAD laat zien dat dit niet helemaal het geval is. De 'imperial' arcering wordt correct weergegeven maar heeft nog steeds een andere definitie.
Als in de voorbeeldtekening het block wordt geëxplodeerd zijn er twee arceringen in de tekening, één met een schaal van 254 en de ander met een schaal van 10, terwijl ze er identiek uitzien.
Ook in AutoCAD 2012 werkt dit zo, dus de arceringen worden niet automatisch omgezet bij het inserten in een ISO template.
De arceerpatroondefinitie wordt dus per arcering bewaard, in tegenstelling tot lijnen die telkens één en dezelfde lijntypedefinitie gebruiken. Twee verschillende principes dus.
Gelogd
AutoCAD 2012 - Windows 7
Pagina's: [1]   Omhoog