VS:CreateText: Difference between revisions

From Vectorworks Developer
Jump to navigation Jump to search
(add note)
(fix mistake)
 
(One intermediate revision by the same user not shown)
Line 82: Line 82:
-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
<remark>
<remark>
([[User:Orso.b.schmid|Orso]], 2015 Dec. 19): If you draw text, it is important to have a proper text size on the document or you'll see the error "An incorrect object is described".
[[User:CBM-c-|_c_]], 2015.12.19: If you draw text, it is important to have a proper text size on the document or you'll see the error "An incorrect object is described".
<code lang="pas">
<code lang="pas">
PushAttrs;
PushAttrs;

Latest revision as of 05:26, 15 January 2021

.VectorScript|VectorScript ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix

Description

Procedure CreateText creates a new text object in a VectorWorks document. The text object is created using the current pen position and default attributes.

PROCEDURE CreateText(
theText :DYNARRAY[] of CHAR);
def vs.CreateText(theText):
    return None

Parameters

theText DYNARRAY[] of CHAR Text string.

Remarks

_c_, 2015.12.19: If you draw text, it is important to have a proper text size on the document or you'll see the error "An incorrect object is described".

PushAttrs;
	NameClass(ClassList(1));
	PenPat(1);
	FillPat(0);
	PenFore(0, 0, 0);
	TextSize(9); { avoid accidental small text size rising the error "An incorrect object is described" }
	CreateText('Text');
PopAttrs;

Example

VectorScript

PROCEDURE Example;
VAR
    Txt   :ARRAY [1..100] of STRING;
    Outpt :DYNARRAY[] of CHAR;
    i     :INTEGER;
BEGIN
    FOR i := 1 TO 5 DO txt[i] := 'asdf';
    i := 2;
    Outpt := Txt[1];
    WHILE Txt[i] <> '' DO BEGIN
        OutPt := Concat(Outpt, Chr(13), Txt[i]);
        i := i + 1;
    END;
    Layer('Text');
    CreateText(Outpt);
    Layer('Layer-1');
END;
RUN(Example);

Python

def Example():
	txt = []
	for i in range(0,4):
		txt.append('asdf')
	txt.append("")
	i = 1
	Outpt = txt[0]
	while txt[i] != "":
		OutPt = vs.Concat(Outpt, vs.Chr(13), txt[i])
		i = i + 1
		
	vs.Layer('Text')
	vs.CreateText(Outpt)
	vs.Layer('Layer-1')

Example()

Version

Availability: from VectorWorks 8.0

See Also

VS Functions:

VS:BeginText | VS:EndText

VS Functions:

[[VS:BeginText]]

| [[VS:EndText]]