CAD: Invoegen en eenheden

Je voegt een externe tekening toe en ineens klopt de schaal niet meer. Het is een probleem waar iedereen weleens tegenaan loopt. Hoe los je dat op? In dit artikel wordt uitgelegd wat de gevolgen zijn van diverse instellingen van eenheden. Teken je in inches? Of mm? Of eenheidsloos? En hoe staan “INSUNITS”, “INSUNITSDEFSOURCE” en “INSUNITSDEFTARGET” ingesteld? Vind je het verwarrend? Ik ook. Laten we het onderzoeken.

Het is een wat langer artikel omdat er diep op ingegaan wordt. Belangrijk is dat je de eindconclusies onthoudt, zodat je in de toekomst schaalproblemen snel kan oplossen.

INSUNITS

“INSUNITS” of invoegeenheden is een waarde die in de tekening wordt opgeslagen. In dit voorbeeld gebruiken we enkele waarden:

ValueUnits
0No units
1Inches
4Millimeters
6Meters

Bedenk dat je in een tekening werkt die zelf een waarde van INSUNITS heeft, terwijl als je een blok in die tekening invoegt, dat blok heel goed een andere waarde van INSUNITS kan hebben. Dat is waar de problemen ontstaan want je CAD-programma gaat proberen een schaalfactor toe te passen die niet altijd even logisch lijkt.

INSUNITSDEFSOURCE en INSUNITSDEFTARGET

De waarde van INSUNITS wordt in de tekening zelf opgeslagen. De waarden van “INSUNITSDEFSOURCE” en “INSUNITSDEFTARGET” worden in het register opgeslagen en zijn dus bij iedere tekening die geopend wordt gelijk.

Maar wat doen die waarden?

INSUNITSDEFTARGET stelt de waarde van de tekeneenheden van de bestemming in als INSUNITS is ingesteld op 0.

INSUNITSDEFSOURCE stelt de waarde van de tekeneenheden van de bron in als INSUNITS is ingesteld op 0.

Mooi! Worden we daar wijzer van? Een beetje. Het is tijd voor een experiment. We hebben blokken (tekeningen) met verschillende waarden voor INSUNITS, we hebben waarden voor INSUNITSDEFSOURCE en INSUNITSDEFTARGET en we voegen de blokken in in een tekening die zelf ook een waarde voor INSUNITS heeft. Dat kunnen we in een tabel stoppen.

Om het wat overzichtelijk te houden worden er afkortingen gebruikt:
IUB = INSUNITS of Block
IUS = INSUNITSDEFSOURCE
IUT = INSUNITSDEFTARGET
IUD = INSUNITS of Drawing

Invoegen van blokken met INSUNITS is 0

We gaan blokken invoegen die zelf als INSUNITS 0, no units, hebben…

IUBIUSIUTIUDResult
0660No scaling
0640Assumed is m (meters) as source and mm (millimeters) as target. Inserted block is scaled 1*1000.
0040Assumed target is mm. No scaling.
0046No scaling.
0406Assumed is mm as source and m as target because IUD 6 overrules IUT. Inserted block is scaled 1/1000

Conclusies voor blokken met INSUNITS is 0

  • Als je een blok invoegt die zelf INSUNITS = 0 heeft in een tekening met INSUNITS = 0, dan worden de waarden van INSUNITSDEFSOURCE en INSUNITSDEFTARGET gebruikt voor de schaalfactor.
  • Als de tekening zelf een andere waarde van INSUNITS heeft, dan overruled die waarde de waarde van INSUNITSDEFTARGET. De waarde van INSUNITSDEFSOURCE en de waarde van INSUNITS van de tekening worden gebruikt voor de schaalfactor.

Invoegen van blokken met INSUNITS anders dan 0

We gaan blokken invoegen die zelf als waarde van INSUNITS niet 0 hebben…

IUBIUSIUTIUDResult
4660INSUNITS of Block is mm, overruling INSUNITSDEFSOURCE. INSUNITSDEFTARGET (m) is used because INSUNITS of drawing is 0. So the inserted block is scaled 1/1000
6014INSUNITS of Block is 6 (m), not 0, so overruling INSUNITSDEFSOURCE. INSUNITSDEFTARGET (inches) is not used because INSUNITS of drawing is not 0 and set to 4(mm). So the inserted block is scaled 1*1000.

Conclusies voor blokken met INSUNITS anders dan 0

  • Als je een blok invoegt die zelf een andere waarde heeft dan INSUNITS = 0, dan wordt INSUNITSDEFSOURCE genegeerd. INSUNITS van het blok wordt dan gebruikt voor de schaalberekening.
  • Als de tekening zelf een andere waarde van INSUNITS dan 0 heeft, dan wordt de waarde van INSUNITSDEFTARGET genegeerd.

Hoe werkt het met kopiëren en plakken?

BricsCAD hanteert dit principe om de schaalfactor te bepalen ook bij kopiëren en plakken. Denk ook aan commando’s als COPYBASE (ctrl-shift-c) en PASTEBLOCK (ctrl-shift-v). Naar beste weten: AutoCAD ondersteunt de berekening van de schaalfactor niet, dat moet je zelf doen.

Eindconclusies

Voor de automatische berekening van schaalfactoren bij het invoegen van blokken en, uitsluitend bij BricsCAD, bij het plakken van blokken (ctrl-shift-v) of objecten (ctrl-v), worden de volgende regels gebruikt:

  • Alleen als de waarde voor INSUNITS van een in te voegen blok 0 is, dan wordt de waarde van INSUNITSDEFSOURCE gebruikt.
  • Alleen als de waarde voor INSUNITS van de huidige tekening 0 is, dan wordt de waarde van INSUNITSDEFTARGET gebruikt.

Door deze twee regels goed te onthouden en te doorzien kan je problemen oplossen:

  • INSUNITS als standaardinstelling op 0 houden biedt flexibiliteit.
  • Als eerste stap INSUNITS, INSUNITSDEFSOURCE en INSUNITSDEFTARGET invoeren om te kijken of de waarden goed staan is voor de hand liggend.
  • Klopt dat, maar gaat het toch fout? Onderzoek dan blokken die je invoegt. Een blok, getekend in meters, met INSUNITS op 4 (mm) levert gegarandeerd problemen op en dan is het dus zaak om INSUNITS van dat blok aan te passen naar 0 of 6, eenheidsloos of meters.

Leave a comment