VectorWorks forum: Letterstempel - VectorWorks forum

Ga naar inhoud

  • 3 Pagina's +
  • 1
  • 2
  • 3

Letterstempel

#1 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 18 April 2012 - 09:25 AM

Kan er mij iemand op weg helpen om - cfr. de getalstempel - een letterstempel aan te maken?
De getalstempel werkt blijkbaar ook wel met letters, maar ik weet niet hoe een dergelijk script er uit ziet.

Het is de bedoeling om dit dan te integreren in een PIO dat de doorsnedes aanduidt.
Als ik de eerste doorsnede aanduid wil ik dus " A - A" ,
de tweede aanduiding "B - B", enz.
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#2 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 20 April 2012 - 09:28 AM

Misschien nog eventjes verduidelijken:
Ik zoek iets zoals in bijgevoegd script, dat ik hier ergens op dit forum gevonden heb, maar waarin dan de cijfers door letters vervangen worden.

PROCEDURE Num_Str;
VAR
	Obj_H: HANDLE;
	Initi: STRING;
	Resul: REAL;
BEGIN
	Obj_H := GetObject ('Tekst');
	Initi := GetText (Obj_H);
	Resul := Str2Num (Initi);
	Resul := Resul + 1;
	Initi := Num2Str (0, Resul);

	SetText (Obj_H, Initi);
END;
RUN (Num_Str); 
RUN (Num_Str); 

MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#3 Gebruiker is offline   maarten. 

  • Expert
  • Groep: Members
  • Posts: 1,622
  • Lid geworden: 20-January 05
  • Gender:Not Telling
  • Stad:Houthalen

Gepost 20 April 2012 - 10:27 AM

CarpeDM zei:

Het is de bedoeling om dit dan te integreren in een PIO dat de doorsnedes aanduidt.
Als ik de eerste doorsnede aanduid wil ik dus " A - A" ,
de tweede aanduiding "B - B", enz.


Om dit te doen moet je in je PIO eerst gaan kijken welke PIO's er al geplaatst zijn, de waardes daarvan opslaan en dan gaan kijken welke in de lijst nog vrij zijn.

Door je tekening lopen kan je met ForEachObject(ProcedureNaam,PON='naam van je pio');

Bekijk Post CarpeDM, op 20 April 2012 - 09:28 AM, zei:

Misschien nog eventjes verduidelijken:
Ik zoek iets zoals in bijgevoegd script, dat ik hier ergens op dit forum gevonden heb, maar waarin dan de cijfers door letters vervangen worden.


Volgens mij werk je best met de ASCII waardes van je tekens.
Chr(65) => A
Chr(66) => B
Chr(67) => C
...
Chr(90) => Z

Volgend scriptje (toegegeven, een beetje onnozel), laat dit principe zien:

PROCEDURE Alfabet;
VAR
	int : INTEGER;
	tmpstr : STRING;
BEGIN
	FOR int:=65 TO 90 DO
	BEGIN
		tmpstr:=Concat(tmpstr,Chr(int));
	END;
	CreateText(tmpstr);
END;
RUN(Alfabet);

Home: mac OSX 10.58 | VW 2008 SP3
Work: windows 7 | VW 2010 SP4
0

#4 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 20 April 2012 - 10:37 AM

Mocht het nog iemand interesseren, het volledige script ziet er momenteel zo uit:

PROCEDURE Doorsnedes;
VAR
	x1, y1:		REAL;
	x2, y2:		REAL;
	S:			REAL;
	B:			BOOLEAN;

BEGIN
	DSelectAll;
	GetLine (x1, y1, x2, y2);
	S := GetLScale (ActLayer);
	SetConstrain ('qswd');

	IF (y1 = y2) THEN
	BEGIN
		IF (x1 < x2) THEN
		BEGIN
			NameClass ('6_Tekst & Uitleg');
			B:=SetDefaultBeginningMarker (0, 15, 0.125, 0, 34, 0.05, FALSE);
			BeginGroup;
			PenPat (-6);
			LWByClass;
			MoveTo (x1 - (6 * S), y1);
			LineTo (x2 + (6 * S), y2);

			LSByClass;
			PenSize (20);
			MoveTo (x1 - (6 * S), y1);
			LineTo (x1 - (3 * S), y1);
			MoveTo (x2 + (3 * S), y2);
			LineTo (x2 + (6 * S), y2);

			LWByClass;
			B:=SetDefaultBeginningMarker(0, 15, 0.125, 0, 34, 0.05, TRUE);
			MoveTo(x1 - (4.5 * S), y1);
			LineTo(x1 - (4.5 * S), y1 + (10 * S));
			MoveTo(x2 + (4.5 * S), y2);
			LineTo(x2 + (4.5 * S), y2 + (10 * S));

			TextVerticalAlign(5);
			TextJust(3);
			TextSize(12);
			TextOrigin(x1 - (5 * S), y1 + (5 * S));
			BeginText;
			'A'
			EndText;
			TextOrigin(x2 + (4 * S), y2 + (5 * S));
			BeginText;
			'A'
			EndText;
			EndGroup;
		END;

		IF (x1 > x2) THEN
		BEGIN
			NameClass('6_Tekst & Uitleg');
			B:=SetDefaultBeginningMarker(0, 15, 0.125, 0, 34, 0.05, FALSE);
			BeginGroup;
			PenPat(-6);
			LWByClass;
			MoveTo(x1 + (6 * S), y1);
			LineTo(x2 - (6 * S), y2);

			LSByClass;
			PenSize(20);
			MoveTo(x1 + (6 * S), y1);
			LineTo(x1 + (3 * S), y1);
			MoveTo(x2 - (3 * S), y2);
			LineTo(x2 - (6 * S), y2);

			LWByClass;
			B:=SetDefaultBeginningMarker(0, 15, 0.125, 0, 34, 0.05, TRUE);
			MoveTo(x1 + (4.5 * S), y1);
			LineTo(x1 + (4.5 * S), y1 + (10 * S));
			MoveTo(x2 - (4.5 * S), y2);
			LineTo(x2 - (4.5 * S), y2 + (10 * S));

			TextVerticalAlign(5);
			TextJust(3);
			TextSize(12);
			TextOrigin(x1 + (4 * S), y1 + (5 * S));
			BeginText;
			'A'
			EndText;
			TextOrigin(x2 - (5 * S), y2 + (5 * S));
			BeginText;
			'A'
			EndText;
			EndGroup;
		END;
	END;

	IF (x1 = x2) THEN
	BEGIN
		IF (y1 < y2) THEN
		BEGIN
			NameClass('6_Tekst & Uitleg');
			B:=SetDefaultBeginningMarker(0, 15, 0.125, 0, 34, 0.05, FALSE);
			BeginGroup;
			PenPat(-6);
			LWByClass;
			MoveTo(x1, y1 - (6 * S));
			LineTo(x2, y2 + (6 * S));

			LSByClass;
			PenSize(20);
			MoveTo(x1, y1 - (6 * S));
			LineTo(x1, y1 - (3 * S));
			MoveTo(x2, y2 + (3 * S));
			LineTo(x2, y2 + (6 * S));

			LWByClass;
			B:=SetDefaultBeginningMarker(0, 15, 0.125, 0, 34, 0.05, TRUE);
			MoveTo(x1, y1 - (4.5 * S));
			LineTo(x1 + (10 * S), y1 - (4.5 * S));
			MoveTo(x2, y2 + (4.5 * S));
			LineTo(x2 + (10 * S), y2 + (4.5 * S));

			TextVerticalAlign(5);
			TextJust(1);
			TextSize(12);
			TextOrigin(x1 + (5 * S), y1 - (4.5 * S));
			BeginText;
			'B'
			EndText;
			TextOrigin(x2 + (5 * S), y2 + (4.5 * S));
			BeginText;
			'B'
			EndText;
			EndGroup;
		END;

		IF (y1 > y2) THEN
		BEGIN
			NameClass('6_Tekst & Uitleg');
			B:=SetDefaultBeginningMarker(0, 15, 0.125, 0, 34, 0.05, FALSE);
			BeginGroup;
			PenPat(-6);
			LWByClass;
			MoveTo(x1, y1 + (6 * S));
			LineTo(x2, y2 - (6 * S));

			LSByClass;
			PenSize(20);
			MoveTo(x1, y1 + (6 * S));
			LineTo(x1, y1 + (3 * S));
			MoveTo(x2, y2 - (3 * S));
			LineTo(x2, y2 - (6 * S));

			LWByClass;
			B:=SetDefaultBeginningMarker(0, 15, 0.125, 0, 34, 0.05, TRUE);
			MoveTo(x1, y1 + (4.5 * S));
			LineTo(x1 + (10 * S), y1 + (4.5 * S));
			MoveTo(x2, y2 - (4.5 * S));
			LineTo(x2 + (10 * S), y2 - (4.5 * S));

			TextVerticalAlign(5);
			TextJust(1);
			TextSize(12);
			TextOrigin(x1 + (5 * S), y1 + (4.5 * S));
			BeginText;
			'B'
			EndText;
			TextOrigin(x2 + (5 * S), y2 - (4.5 * S));
			BeginText;
			'B'
			EndText;
			EndGroup;
		END
	END;
	B:=SetDefaultBeginningMarker(0, 15, 0.125, 0, 34, 0.05, FALSE);
	B:=SetDefaultEndMarker(0, 15, 0.125, 0, 34, 0.05, FALSE);
	TextSize (10);
	TextJust (1);
	TextVerticalAlign (1);
	MarkerByClass;

END;
RUN(Doorsnedes);


Dit zou moeten resulteren in de genormaliseerde doornsede aanduidingen voor houtbewerkingen.
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#5 Gebruiker is offline   maarten. 

  • Expert
  • Groep: Members
  • Posts: 1,622
  • Lid geworden: 20-January 05
  • Gender:Not Telling
  • Stad:Houthalen

Gepost 20 April 2012 - 11:16 AM

Misschien ben je hier iets mee:

Ik had vroeger zo'n Letterstempel gemaakt (dacht zelfs dat het hier op't forum stond maar kan het niet meer vinden).
Uiteindelijk toch nog gevonden in m'n archieven, wel even moeten zoeken waar het weer juist stond :)/> .

Dit is een PIO, je moet nog een parameter aanmaken:
type: Tekst
naam: Letter

In de opmerkingen stond wel dat bij volledige herrekening van de tekening, er fouten konden voorkomen (welke fouten stond er niet bij, ik kan ook niets reproduceren...).

PROCEDURE LetterStempel;
VAR
	nums : DYNARRAY of INTEGER;
	kleinste,i : INTEGER;
	crit,pioN : STRING;
	pioH,pioR,pioW : HANDLE;

	PROCEDURE NeemLetter(h : HANDLE);
	BEGIN
		nums[0]:=nums[0]+1;
		nums[nums[0]]:=Ord(GetRField(h,pioN,'Letter'));
	END;

BEGIN
	IF GetCustomObjectInfo(pioN,pioH,pioR,pioW) THEN
	BEGIN
	{maak criteria aan en sla de ASCII waardes van alle reeds geplaatste stempels op in een array}
		crit:=Concat('(PON=',Chr(39),pioN,Chr(39),')');
		ALLOCATE nums[0..Count(crit)];
		ForEachObject(NeemLetter,crit);
	{sorteer deze array}
		SortArray(nums,nums[0],1);
	{loop door de array en neem het eerst vrije getal}
		kleinste:=65;
		WHILE (i+1<nums[0]) DO
		BEGIN
			i:=i+1;
			IF kleinste=nums[i] THEN kleinste:=kleinste+1;
		END;
		SetRField(pioH,pioN,'Letter',Chr(kleinste));
		CreateText(Chr(kleinste));
	END;
END;
RUN(LetterStempel);

Home: mac OSX 10.58 | VW 2008 SP3
Work: windows 7 | VW 2010 SP4
0

#6 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 20 April 2012 - 01:33 PM

Werkt hier zonder opmerkingen.

Eventjes voor derden:
De standaard tool 'Getalstempel' kan dit zowel met letters als met cijfers.
Wat echter interessant is aan jouw script, is dat je het ter beschikking stelt om die functie in een PIO toe te passen.
Ik zal eens zien of ik het kan integreren in mijn script.
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#7 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 07 May 2012 - 11:04 AM

Het script dat ik hier gepost heb staat in de VS Insteekmodule als een "Gereedschap".
Nu zou ik dit eigenlijk naar een "Lineair Object" willen wijzigen om het ook te kunnen bewerken in het Info Palet.

Hoe kan ik dan in het script verwijzen naar de lijn die ik moet trekken zoals ik er nu naar verwijs als:

(...)
Getline (x1, y1, x2, y2)
(...)


Op de VectorLab-site vind ik wel het een en ander over "Path Objects" op de Events pagina, maar weinig over de "Linear Objects".
Naar het Path wordt dan verwezen via de functie "GetCustomObjPath", maar ik vind bijvoorbeeld geen "GetCustomObjLine" terug ...
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#8 Gebruiker is offline   maarten. 

  • Expert
  • Groep: Members
  • Posts: 1,622
  • Lid geworden: 20-January 05
  • Gender:Not Telling
  • Stad:Houthalen

Gepost 07 May 2012 - 12:14 PM

LineLength is de parameternaam.
{0,0} is dan dus het beginpunt van de lijn (of anders gezegd, het nulpunt van je PIO).
{PLineLength,0} is het tweede punt van de lijn.
Home: mac OSX 10.58 | VW 2008 SP3
Work: windows 7 | VW 2010 SP4
0

#9 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 07 May 2012 - 02:10 PM

Oke, dit is interessant aan het worden ...
Het script ziet er nu ongeveer zo uit:

PROCEDURE Doorsnedes;
VAR
	Schaal:	Real;
	B:		Boolean;
	T:		String;

BEGIN
	DSelectAll;
	Schaal := GetLScale (ActLayer);
	SetConstrain ('qswd');
	T := Chr (65);

	BEGIN
		B := SetDefaultBeginningMarker (0, 15, 0.125, 0, 34, 0.05, FALSE);
		PenPat (-6);

		LWByClass;
		MoveTo (0 - (6 * Schaal), 0);
		LineTo (PLineLength + (6 * Schaal), 0);

		LSByClass;
		PenSize (20);
		MoveTo (0 - (6 * Schaal), 0);
		LineTo (0 - (3 * Schaal), 0);
		MoveTo (PLineLength + (3 * Schaal), 0);
		LineTo (PLineLength + (6 * Schaal), 0);

		LWByClass;
		B := SetDefaultBeginningMarker (0, 15, 0.125, 0, 34, 0.05, TRUE);
		MoveTo (0 - (4.5 * Schaal), 0);
		LineTo (0 - (4.5 * Schaal), 0 + (10 * Schaal));
		MoveTo (PLineLength + (4.5 * Schaal), 0);
		LineTo (PLineLength + (4.5 * Schaal), 0 + (10 * Schaal));

		TextVerticalAlign (5);
		TextJust (3);
		TextSize (12);
		TextOrigin (0 - (5 * Schaal), 0 + (5 * Schaal));
		BeginText;
			T
		EndText;
		TextOrigin (PLineLength + (4 * Schaal), 0 + (5 * Schaal));
		BeginText;
			T
		EndText;
	END;
END;
RUN (Doorsnedes);


Veel korter en veel flexibeler.
Nu nog wat stukskes van het "LetterStempel"-script en wat Events-toestanden proberen toevoegen en ik geraak misschien nog waar ik wou zijn ...
Merci, hé.
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#10 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 07 May 2012 - 03:29 PM

Ondertussen zitten we weer ietskes verder:

PROCEDURE Doorsnedes;
VAR
	Schaal	: REAL;
	B		: BOOLEAN;
	Tekst	: STRING;
	Tekst_H	: HANDLE;

	PROCEDURE Bepaal_Letter;
	VAR
		Nums			: DYNARRAY of INTEGER;
		Kleinste, Int		: INTEGER;
		Crit, PIO_N		: STRING;
		PIO_H, PIO_R, PIO_W	: HANDLE;

		PROCEDURE Neem_Letter (Obj_H: HANDLE);
		BEGIN
			Nums [0]		:= Nums [0] + 1;
			Nums [Nums [0]]	:= Ord (GetRField (Obj_H, PIO_N, 'Letter'));
		END;

	BEGIN
		IF GetCustomObjectInfo (PIO_N, PIO_H, PIO_R, PIO_W) THEN
		BEGIN
			Crit := Concat (' (PON = ', Chr (39), PIO_N, Chr (39), ')');
			ALLOCATE Nums [0 .. Count (Crit)];
			ForEachObject (Neem_Letter, Crit);
			SortArray (Nums, Nums [0], 1);
			kleinste	:= 65;
			WHILE (Int + 1 < Nums [0])
			DO
			BEGIN
				Int := Int + 1;

				IF	Kleinste = Nums [Int]
				THEN	Kleinste	:= Kleinste + 1;
			END;

			SetRField (PIO_H, PIO_N, 'Letter', Chr (kleinste));
			CreateText (Chr (kleinste));
		END;
	END;

BEGIN
	Schaal := GetLScale (ActLayer);
	SetConstrain ('qswd');

	B := SetDefaultBeginningMarker (0, 15, 0.125, 0, 34, 0.05, FALSE);
	PenPat (-6);

	LWByClass;
	MoveTo (0 - (6 * Schaal), 0);
	LineTo (PLineLength + (6 * Schaal), 0);

	LSByClass;
	PenSize (20);
	MoveTo (0 - (6 * Schaal), 0);
	LineTo (0 - (3 * Schaal), 0);
	MoveTo (PLineLength + (3 * Schaal), 0);
	LineTo (PLineLength + (6 * Schaal), 0);

	LWByClass;
	B := SetDefaultBeginningMarker (0, 15, 0.125, 0, 34, 0.05, TRUE);
	MoveTo (0 - (4.5 * Schaal), 0);
	LineTo (0 - (4.5 * Schaal), 0 + (10 * Schaal));
	MoveTo (PLineLength + (4.5 * Schaal), 0);
	LineTo (PLineLength + (4.5 * Schaal), 0 + (10 * Schaal));

	TextVerticalAlign (5);
	TextJust (3);
	TextSize (12);
	TextOrigin (0 - (5 * Schaal), 0 + (5 * Schaal));
	Bepaal_Letter;
	TextOrigin (PLineLength + (4 * Schaal), 0 + (5 * Schaal));
	Bepaal_Letter;
END;
RUN (Doorsnedes);


Er zitten blijkbaar wel nog wat slordigheden in, maar ik zie niet onmiddellijk waar.
Als de PIO de eerste maal gebruikt wordt geeft hij inderdaad het object "Doorsnede" vrij correct weer,
maar daarnaast geeft hij me ook nog eens alle lijnen apart in de Actuele Klasse.
Als ik het een tweede keer gebruik doet hij het niet meer, tenzij ik iets aan het script wijzig in de VS Insteekmodule.
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#11 Gebruiker is offline   maarten. 

  • Expert
  • Groep: Members
  • Posts: 1,622
  • Lid geworden: 20-January 05
  • Gender:Not Telling
  • Stad:Houthalen

Gepost 08 May 2012 - 07:53 AM

Bekijk Post CarpeDM, op 07 May 2012 - 03:29 PM, zei:

maar daarnaast geeft hij me ook nog eens alle lijnen apart in de Actuele Klasse.
Als ik het een tweede keer gebruik doet hij het niet meer, tenzij ik iets aan het script wijzig in de VS Insteekmodule.

Dat klinkt alsof je "Herrekenen bij Script-event" hebt aanstaan. Deze zet je best uit als je niet met events werkt.
Home: mac OSX 10.58 | VW 2008 SP3
Work: windows 7 | VW 2010 SP4
0

#12 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 08 May 2012 - 07:57 AM

Yip, staat inderdaad aan.
Ik zet het efkes uit terwijl ik aan de Events verder sleutel ...
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#13 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 08 May 2012 - 08:47 AM

Die events begrijp ik misschien nog niet helemaal ... ik vermoed dat deze in bijzonder geschikt zijn om het gecreŽerde object te manipuleren via het Infopalet of de methodebalk of door het object te dubbelklikken, of begrijp ik dat verkeerd.

Wat wil ik er eigenlijk mee doen?
Ik zou graag de gebruikte letter eventueel nog via het Infopalet kunnen wijzigen en de richting van pijlen - die de richting van de doorsnede aangeven - kunnen wijzigen.
Lijkt me niet onmogelijk maar ik zal toch nog eens een beroep willen doen op de hulplijn.
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#14 Gebruiker is offline   maarten. 

  • Expert
  • Groep: Members
  • Posts: 1,622
  • Lid geworden: 20-January 05
  • Gender:Not Telling
  • Stad:Houthalen

Gepost 08 May 2012 - 09:11 AM

Ik zou dan werken met 2 Parameters.
De eerste zou zijn van het type Tekst, hieruit kan je dan je letter halen.
De tweede zou een Boolean kunnen zijn, die zou dan bijvoorbeeld de richting van je pijl kunnen bepalen (TRUE: pijl naar boven, FALSE: pijl naar beneden).

Voor meer info ivm parameters, lees even de Language Guide er even op na (onderdeel "10 - Using VectorScript Plug-ins" - "Plug-in Parameter Types").
Home: mac OSX 10.58 | VW 2008 SP3
Work: windows 7 | VW 2010 SP4
0

#15 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 08 May 2012 - 12:24 PM

Is er ook een manier om naar de richting van de PIO - Linear Object - te verwijzen in het script?
De positie van de te plaatsen tekst is er afhankelijk van, meer in het bijzonder als het een horizontale of vertikale snede is.
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#16 Gebruiker is offline   maarten. 

  • Expert
  • Groep: Members
  • Posts: 1,622
  • Lid geworden: 20-January 05
  • Gender:Not Telling
  • Stad:Houthalen

Gepost 08 May 2012 - 12:52 PM

De rotatie van je PIO kan je met GetSymRot(PIO_H) te pakken krijgen.
Home: mac OSX 10.58 | VW 2008 SP3
Work: windows 7 | VW 2010 SP4
0

#17 Gebruiker is offline   Pascal 

  • Expert
  • Groep: Members
  • Posts: 1,081
  • Lid geworden: 17-June 04
  • Gender:Male
  • Location:Loker-heuvelland
  • Interests:DTP, jeugdvoetbal
  • Stad:Loker

Gepost 08 May 2012 - 01:33 PM

ik gebruik ook veel de getalstempel bij benaming van mijn assen bij loodsen
Het ware natuurlijk handig als er een mogelijkheid was dat wanneer je bvb 1 aanpast, de rest ook volgt. Nu is het zo dat ik de assen benam, maar het kan zijn dat er bijv nog een beuk moet bijkomen en dan moet ik alles herinvoeren natuurlijk

Ook bij geroteerde tekening gaat de stempel wel volledig de mist in zoals zoveel tools heb ik al ondervonden
iMac (Retina 5K, 27-inch, 2017)
Processor 4,2 GHz Intel Core i7
Geheugen 24 GB 2400 MHz DDR4
27-inch (2560 x 1440)
Videokaart Radeon Pro 575 4096 MB
OS MacOs High Sierra

Vectorworks 2018 Architectuur SP4+ Renderworks
0

#18 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 08 May 2012 - 02:47 PM

Het verwijzen lukt, maar ... hoe geef je een hoek op tussen 0į & 90į vervolgens tussen 90į & 180į ...

Bestaat er zo iets als ... IF x = BETWEEN (0, 90) THEN ... ?
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

#19 Gebruiker is offline   maarten. 

  • Expert
  • Groep: Members
  • Posts: 1,622
  • Lid geworden: 20-January 05
  • Gender:Not Telling
  • Stad:Houthalen

Gepost 08 May 2012 - 03:43 PM

Wel even los uit het hoofd en zonder te testen, maar volgens mij kan je volgende logica gebruiken:

PIO_rot:=GetSymrot(PIO_H);
CreateText('bla bla bla');
HRotate(LNewObj,0,0,-PIO_rot);


Als het invoegpunt van je tekst niet {0,0} is, dan moet je dat nog even veranderen in HRotate(LNewObj,...
Home: mac OSX 10.58 | VW 2008 SP3
Work: windows 7 | VW 2010 SP4
0

#20 Gebruiker is offline   CarpeDM 

  • Expert
  • Groep: Members
  • Posts: 302
  • Lid geworden: 19-January 08
  • Gender:Male
  • Stad:BelgiŽ

Gepost 09 May 2012 - 08:10 AM

Dit werkt al veel beter, maar ik bereik nog nog niet helemaal wat ik in mijn eerste script bereikte qua tekstplaatsing.

Met GetLine (x1, y1, x2, y2) kan je - zoals in de eerste versie van het script - wat spelen met ALS y1 < y2 DAN ...,
maar kan je dat hier ook met het LineLength-verhaal?
Waarschijnlijk niet in die vorm, want dan moet je eigenlijk zeggen ALS 0 < 0 DAN ...
MacBookPro
Mac OS X.10.11 - El Capitan
VW 2017 - Standaard
Cinema4D R18 - Visualize
0

Deel dit topic:


  • 3 Pagina's +
  • 1
  • 2
  • 3

1 Gebruiker(s) lezen dit topic
0 gebruikers, 1 gasten, 0 anonieme gebruikers