Hey allen,
Vraagje: Ik heb een element van onregelmatige vorm, dus er zit niet meteen structuur in.
Hierbij moet ik om de 200cm een lijn hebben, die dat de kromme lijnen volgt.
Bij een recht vlak is dit eenvoudig te doen via offset of array, maar bij een kromming met onregelmatige vorm lijkt me dit niet mogelijk, omdat je steeds je ge-offsette lijn moet gaan draaien, om vervolgens weer offset toe te passen enzovoort.
Ik dacht eerder aan iets te gebruiken zoals DIVIDE, alleen moet je daar op voorhand ingeven hoeveel elemente je moet hebben, terwijl ik wil ingeven om de hoeveel cm een lijn moet komen (=de lijn is de rand van een prefab-element)
In bijlage een afbeelding. De rechtse tekening is de verdeling invoudig, omdat we hier met rechten werken, maar het gaat hem dus om de linkse tekening.
Alvast bedankt.
T.
DIVIDE = verdelen in aantal delen
MEASURE = verdelen met een vaste lengte
Let op dat je bv een block ook mee kan laten gaan in de richting van de te verdelen lijn.
Als je niet kiest voor een block dan krijg je points (nodes).
exact wat ik moest hebben!
Bedankt!!!
Als ik een block mee laat verdelen, verdraaid deze dan mee met de kromme lijn of blijft deze in zijn oorsporkelijke staat staan? Want dan zou ik mijn lijn in block veranderen, en deze mee laten draaien, anders moet ik een 1350-tal lijnen trekken van 2 meter (lijkt me wat onnozel)
Je kun t er voor kiezen. Kijk even de opties na en brobeer eens de verschillen.
Suc6
Ik doe dit soort werk hiermee:
http://www.cadsite.be/lisp/download/bm.zip
(gevonden op http://www.cadsite.be/blocks/block.php )
Citaat van: EddyBeerke op di 16 11 2010, 11:32:58
DIVIDE = verdelen in aantal delen
MEASURE = verdelen met een vaste lengte
Let op dat je bv een block ook mee kan laten gaan in de richting van de te verdelen lijn.
Als je niet kiest voor een block dan krijg je points (nodes).
Kan u mij de functie divide toelichten?
ik heb een lijnstuk, en wil perfect per 1/3 de dit onderverdelen, als ik nu het commando divide doe, en dan 3 ingeef, dan verkrijg ik 3 punten, wat op zich ok is, maar ik kan maar niet snappen naar deze nieuwe punten of deze aangeven als beginpunt voor mijn nieuwe lijn.
Wat doe ik juist verkeerd?
Om te snapen naar block's moet de snap aan staan met insertionpoint.
Voor points: node.
Met divide of measure zet acad een block of point op de lijn.
Met break kun je de lijn in stukken breken.
Met lengthen kun je de line korter of langer maken.
Citaat van: EddyBeerke op di 16 11 2010, 20:16:14
Om te snapen naar block's moet de snap aan staan met insertionpoint.
Voor points: node.
Met divide of measure zet acad een block of point op de lijn.
Met break kun je de lijn in stukken breken.
Met lengthen kun je de line korter of langer maken.
Ik heb node inderdaad moeten opzetten om te snappen naar dat punt.
Met lengthen, heb ik als volgende optie percent gekozen en dan 33.33% ingegeven (1/3)
Als u een lijn met heel veel cijfers na de komma (zoals bv pi) perfect in 3 wilt opsplitsen, welke methode verkiest u dan zodat dit het juiste resultaat geeft?
Volgens mij is DIVIDE verdelen. Dus als je 3 stukken wilt hebben dan moet je deze gebruiken.
Acad is geen rekenprogramma hoor.
BV:
Je tekend een lijn van 10 units (voor mij meter), deze divide je in 3.
Deze lijn break je dan op de gevonden punten: L= 3.33333333 -> overal gelijk!
Dan scale 1000000 en dan nog een keer scale 1000000.
Selecteer nogmaals de lijnen en kijk in je porperties bij "Length": *VARIES*
@ EddyBeerke:
"Acad" is vanzelfsprekend bij uitstek (ook) een rekenprogramma. Maar de nauwkeurigheid van het programma wordt gegrensd door het binaire floating point formaat. Dit betekent, vertaald naar het tientallige stelsel, maximaal ca. 16 significante cijfers. Bovendien is het getal 10/3 niet exact weer te geven in het binaire floating point formaat, maar ook niet in een decimaal floating point formaat.
Omdat het aantal significante cijfers beperkt is, is het aan te raden om niet al te ver van te oorsprong te tekenen. Hoe groter de afstand tot de oorsprong hoe kleiner de "achter-de-komma-nauwkeurigheid" van punten.
Citaat van: roy_043 op wo 17 11 2010, 12:07:02
...
Omdat het aantal significante cijfers beperkt is, is het aan te raden om niet al te ver van te oorsprong te tekenen. Hoe groter de afstand tot de oorsprong hoe kleiner de "achter-de-komma-nauwkeurigheid" van punten.
Als je dus een lijn tekend van 0,0,0 met een lengte van 1000000000000
en dan deze lijn met lengthen 100 maakt dan krijg je: 99.99999477
En dat is wat ik bedoel! ik zou dus :100.00000000 moeten krijgen
@ EddyBeerke:
Jouw experiment is niet helemaal duidelijk (welke lijn door 0,0,0; welk UCS; hoe gebruik je lengthen).
Maar mijn punt is dat jij een verkeerde conclusie trekt:
Jij stelt vast dat "Acad" soms, voor jou, onverwachte onnauwkeurigheden heeft en stelt dat het daarom geen rekenprogramma is.
Voor alle duidelijkheid:
Het is niet zo dat elk getal in het tientallige stelsel exact kan worden weergegeven in het binaire floating point formaat.
Ter vergelijking een test met OOo Calc (16 cijfers achter de komma worden weergegeven):
10000,0001000000000000
-9900,0000000000000000
---------------------------------- +
100,0000999999990000
Deze uitkomst is het gevolg van het binaire floating point formaat. De exacte uitkomst is natuurlijk:
100,0001000000000000
Is nu de conclusie gerechtvaardigd dat OOo Calc geen rekenprogramma is? Ik denk van niet.
Citaat van: EddyBeerke op wo 17 11 2010, 12:50:49
Als je dus een lijn tekend van 0,0,0 met een lengte van 1000000000000
en dan deze lijn met lengthen 100 maakt dan krijg je: 99.99999477
En dat is wat ik bedoel! ik zou dus :100.00000000 moeten krijgen
Beste Eddy,
Ik snap je waarschijnlijk niet!
Ik teken in AutoCAD 2009 of 2010 een lijn vanuit de oorsprong:
LUPREC 8
LINE 0,0,0 @1000000000000,0 <Enter>
ZOOM ALL
LENGTHEN T 100 @ <Enter>
LIST L <Enter>
Het commando LIST geeft niets verrassend:
LINE Layer: "0"
Space: Model space
Handle = 183d
from point, X=0.00000000 Y=0.00000000 Z=0.00000000
to point, X=100.00000000 Y=0.00000000 Z=0.00000000
Length =100.00000000, Angle in XY Plane = 0
Delta X =100.00000000, Delta Y = 0.00000000, Delta Z =0.00000000
Ik teken nu in AutoCAD 2009 of 2010 een lijn heel erg ver van de oorsprong:
LUPREC 8
LINE 1000000000000,1000000000000 @1000000000000,0 <Enter>
ZOOM ALL
LENGTHEN T 100 @ <Enter>
LIST L <Enter>
Het commando LIST
lijkt iets heel
verrassend te geven:
LINE Layer: "0"
Space: Model space
Handle = 1838
from point, X=1.00000000E+12 Y=1.00000000E+12 Z=0.00000000
to point, X=1.00000000E+12 Y=1.00000000E+12 Z=0.00000000
Length =100.00000000, Angle in XY Plane = 0
Delta X =100.00000000, Delta Y = 0.00000000, Delta Z =0.00000000
Je ziet namelijk dat de begin- en eindpunten gelijk zijn, en toch zit er een afstand
tussen van 100.
De X van het eindpunt is natuurlijk niet X=1.00000000E+12
maar natuurlijk X=1.0000000001E+12
Er zijn maar 8 decimaalplaatsen achter de decimale punt.
Kortom beste Eddy, ik krijg jouw fout niet.
Met vriendelijke groet, HofCAD CSI.
PS Voor de testen kun je de Script files gebruiken in de attachment
nl TestLenOud.scr en TestLen.scr in een lege tekening.
Citaat van: HofCAD op wo 17 11 2010, 18:20:42Je ziet namelijk dat de begin- en eindpunten gelijk zijn, en toch zit er een afstand tussen van 100.
Dit is natuurlijk niet zo. Het gaat hier om een weergave probleem:
1.000000000100E+12 wordt weergegeven als 1.00000000E+12.
Citaat van: roy_043 op wo 17 11 2010, 19:32:42
Dit is natuurlijk niet zo. Het gaat hier om een weergave probleem:
1.000000000100E+12 wordt weergegeven als 1.00000000E+12.
Beste Roy,
Ook onderstaande tekst in mijn stukje gelezen:
Het commando LIST lijkt iets heel verrassend te geven:
De X van het eindpunt is natuurlijk niet X=1.00000000E+12
maar natuurlijk X=1.0000000001E+12
Er zijn maar 8 decimaalplaatsen achter de decimale punt.
Kortom beste Eddy, ik krijg jouw fout niet.
Zijn mijn '8 decimaalplaatsen' geen verwijzing naar het weergaveprobleem? :mrgreen:
Met vriendelijke groet, HofCAD CSI
@ HofCAD
Ik heb gereageerd op een vorige versie van jouw bericht:
"Citaat van: HofCAD op Vandaag om 18:20:42"
Je hebt na dit tijdstip aan het tweede deel van jouw bericht zitten sleutelen. De zin: "Het commando LIST lijkt iets heel verrassend te geven:" stond zo niet in eerste versie. Het woord "lijkt" ontbrak. :twisted:
Citaat van: HofCAD op wo 17 11 2010, 18:20:42
...
Kortom beste Eddy, ik krijg jouw fout niet.
...
Kijk maar naar het filmpje
Citaat van: EddyBeerke op do 18 11 2010, 09:33:36
Kijk maar naar het filmpje
Beste Eddy,
Mijn excuses, ik zie dat in AutoCAD 2007 het probleem optreedt, maar in AutoCAD 2009
en 2010 gebeurt dat bij mij alleen als ik precies hetzelfde doe als in je filmpje.
De lijn niet onder een hoek van 0 of 90 graden plaatsen speelt hierin een rol.
Gek genoeg krijg ik via mijn script TestLenNew.scr deze fout niet bij een hoek
van 45.12345678 graden.
Het lijkt erop, dat het uitmaakt hoe je de lijn plaatst (via coördinaten of niet).
Met vriendelijke groet, HofCAD CSI.
PS Via TestLenNew.scr krijgt men ook te zien wat AutoLisp geeft.
Citaat van: HofCAD op do 18 11 2010, 14:09:14
Beste Eddy,
Mijn excuses, ik zie dat in AutoCAD 2007 het probleem optreedt, maar in AutoCAD 2009
en 2010 gebeurt dat bij mij alleen als ik precies hetzelfde doe als in je filmpje.
De lijn niet onder een hoek van 0 of 90 graden plaatsen speelt hierin een rol.
Gek genoeg krijg ik via mijn script TestLenNew.scr deze fout niet bij een hoek
van 45.12345678 graden.
Het lijkt erop, dat het uitmaakt hoe je de lijn plaatst (via coördinaten of niet).
Met vriendelijke groet, HofCAD CSI.
PS Via TestLenNew.scr krijgt men ook te zien wat AutoLisp geeft.
Aanvaard...
Ach... waar hebben we het over: ik teken GWW en dat is in meters hooguit drie decimalen.
En anders voor landmeters vier decimalen bij uitzondering.