Navigation:  Programmer's Reference > Sending data to DPlot from another application >

TextNote3D macro command

Print this Topic Previous pageReturn to chapter overviewNext page

Macro commands may be used either in macros or by sending the commands to DPlot via dynamic data exchange (DDE). Some commands are valid only in macros (noted by Macros Only). Commands sent to DPlot via DDE must be enclosed by square brackets [     ]. Macro commands should not include the brackets.

Command parameters shown in the descriptions below are placeholders for the actual values. Command parameters are either numeric values, equations that evaluate to numbers, or character strings. Character string parameters are always bound by double quotation marks. Equations must be preceded by an equals sign (=).

The pipe symbol (|) in the command syntax indicates that a parameter is optional, and should not be included in your macro unless otherwise noted.

All indices into arrays are 1-based, e.g. Curve1=1 refers to the first curve in a plot.

A 0x prefix for numbers in the descriptions below indicates hexadecimal notation; e.g. 0x0010 = 16.

JR/Viewer indicates that the command is supported by DPlot Jr or DPlot Viewer.
JR/Viewer indicates that the command is NOT supported by DPlot Jr or DPlot Viewer.


 

[TextNote3D("Note",X,Y,Z|,Flags,Alignment,TabStops,Xarrow,Yarrow,
Zarrow,bkColor|)]

JR   Viewer

Adds a notation to the plot. This command is identical to TextNoteEx, with the addition of two additional Z coordinate parameters.

Note is the text of the notation, limited to 511 characters.

X,Y,Z are the coordinates of the alignment point of the note, expressed as a percentage of the plot size (0.0 to 1.0) or in data coordinates, dependent on the N_DATASPACE bit of the Flags setting. The Z parameter is meaningful only for 3D views of 3D/4D data with the N_DATASPACE bit set.

Flags is a combination of the following:

N_FRAME

0x0002   

Draw a rectangle around the note.

N_OPAQUE

0x0004

Hide objects intersecting the note. If not set, note background is transparent.

N_BUTTON

0x0008

Note is “activated” by a button.

N_DATASPACE   

0x0010

X and Y are expressed in data space rather than the default ratios of plot size. If set, the note will remain in a fixed position relative to the plots data values when you zoom or otherwise change plot extents. NOTE: For 3D or 4D plots, TextNote3D is preferred. TextNote3D provides a Z parameter for the note location. If TextNoteEx is used on a 3D or 4D plot with this bit set, the Z value is set to 0.

N_HIDE

0x0020

The note will be hidden (not drawn). Visibility may be restored only by selecting the Add/Edit Note command on the Text menu.

N_ARROW

0x0040

Draw a line from the note to the point Xarrow, Yarrow, Zarrow. Line width and arrowhead dimensions may be controlled with the TextNoteLeader command. Xarrow, Yarrow, and Zarrow are data space coordinates, always proportional to the primary axes regardless of whether multiple axes are used or not. Xarrow, Yarrow, and Zarrow are ignored if this bit is not set.

N_VERT

0x0080

Vertical orientation. Default is horizontal. This bit is ignored for N_BUTTON notes.

Alignment. Default alignment point is the top left corner of the note. Alignment can be a combination of the following:

0x0001The reference point will be aligned horizontally with the center of the bounding rectangle.
0x0002The reference point will be on the right edge of the bounding rectangle.
0x0004The reference point will be aligned vertically with the middle of the bounding rectangle.
0x0008The reference point will be on the bottom edge of the bounding rectangle.

TabStops is the number of character cells used for tab positioning. See the Add/Edit Note command for more information.

To break a note into multiple lines, you may either embed carriage return-line feed sequences into the note text, or include the literal sequence "\n". The latter method is the only way to include line breaks in a note produced by a macro. Examples:

In VB/VBA:

Control.LinkExecute "[TextNote3D(""Line 1" & chr$(13) & chr$(10) & "Line 2"",0.1,0.1,0.5,0,0,8)]"

In C/C++, using DPLOTLIB:

DPlot_Command(DocNum,
"[TextNote3D(\"Line 1\r\nLine 2\",0.1,0.1,0.5,0,0,8)]");

In Fortran, using DPLOTLIB:

ret=DPlot_Command(DocNum,
'[TextNote3D("Line 1\nLine 2",0.1,0.1,0.5,0,0,8)]'//char(0))

In a macro:

[TextNote3D("Line 1\nLine 2",0.1,0.1,0.5,0,0,8)]

bkColor is the background color of the notation. If omitted or set to -1, the note background will be the same color as the plot background (set with BkColor). This value is ignored if the N_OPAQUE flag is not set.

 


Please note:

Character string arguments require a bit of care, depending on your development environment. Character string arguments in all DPlot commands are always enclosed by double quotation marks. In some environments (Visual Basic and all flavors of C, for example), double quotation marks are also used to delineate all character strings (including the command itself). The following example will always cause a syntax error in Visual Basic:

ret = DPlot_Command(docnum,"[FileOpen("myfile.grf")]")

Instead, use:

ret = DPlot_Command(docnum,"[FileOpen(""myfile.grf"")]")

in C, C++, C# you'd accomplish the same thing with:

ret = DPlot_Command(docnum,"[FileOpen(\"myfile.grf\")]");

If a character string argument is a variable, as in (VB):

Dim arg as string
arg = "myfile.grf"

... then you can build the command in VB as:

ret = DPlot_Command(docnum,"[FileOpen(" & chr$(34) & arg & chr$(34) & ")]")

In all flavors of C, the same can be accomplished with

char arg[256];
char cmd[512];
strcpy(arg,"myfile.grf");
sprintf(cmd,"[FileOpen(\"%s\")]",arg);
ret = DPlot_Command(docnum,cmd);

This does not apply to the DPlot macro editor, in which each line is by definition a character string and does not require delineators, nor to FORTRAN and possibly other languages, in which the delineator for character strings is a single quote, e.g. '[FileOpen("...")]'

To embed a double quotation mark within a character string which is itself delineated by double quotation marks, use the Symbol font equivalent instead. For example, "Radius=6{\s²}" inches will be processed as

Radius=6"

 


 

____________________________

See also

Add/Edit Note menu command

DeleteNote macro command

 


Page url: https://www.dplot.com/help/index.htm?textnote3d_command.htm