NO

Author Topic: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)  (Read 25990 times)

CommonTater

  • Guest
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #15 on: January 13, 2013, 02:46:33 pm »
The top right hand corner of the Catch22 page allows downloading the old splitter source code and the new easy-splitter source code, so you will get the latest sources on both locations ;)

Actually no ... The Easy Splitter on Catch22 is version 2.0.0 ... the one here, on the forums is 2.1.2.

There aren't a lot of differences, mostly the keyboard getting focus when you click the splitter and a small fix to the WM_SIZE handler.


Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #16 on: January 15, 2013, 06:09:37 pm »
Has corrected: arrows-dividers, (Thanks, timovjl !!!).

Has added: subroutine UsersUtils --> Strelka
   on two points specified by the user draws a line,
   draws on its ends of a points and an Text-labels,
   then from a point #1 draws an arrow and copies it in 4 new places
   and also turns arrows (90 180 270 deg.).

Strelka it yet the subroutine, but only preparation for it.
I on the sly master functions LiteCAD.dll and their interaction with the program, is more exact with the user.

Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #17 on: January 20, 2013, 08:27:31 pm »
With the help timovjl (big to it thanks for helps) has included work of buttons in StatusBar.

For those who doesn't want (can not) to download author's package LiteCAD.
In my project is:
1. The main file LiteCAD.dll (it is packed in RAR archive)
2. Some files of fonts (most necessary).

Thus compiled liteCADeditor2.exe it is possible to start from a folder of the project and to look it in work.

Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #18 on: January 22, 2013, 09:38:51 pm »
I read LiteCAD.chm, I look examples and I include something in the program.
Illustration of the most simple creations and usage of properties of primitives Point, Line, PolyLine, Text in programming-mode.

In right lower to a corner arrows as polylines on a point 1 (a line 1-2), having the own (not by-layer) color are constructed.
In left upper to a corner arrows on a point 2 as the polylines having own (not by-layer) color are constructed.
To the first (initial) arrow the text "Arrow" also is added by the color and the height.
Then an arrow and the text are included in the Block "strelka" and this Block is multiplied around 2nd point (a line 1-2) 4 times with offset and a rotated through 90 degrees.

Creation is saved in format LCD (6 KB) and in format DWG 2005 (198 KB) - experience a difference.

On screenshots:
1. Creation in the self-made program LiteCADEditor2.exe - LiteCAD + SDK
It is visible an inscription of red color "UNREGISTERED LITECAD" is that SDK has a non-free origin.
2. Saved drawing Strelka1.lcd is opened in the authoring editor LiteCAD.exe
The terrible inscription isn't present - the editor is FREE.
3. Drawing Strelka1.lcd is saved as Strelka1.dwg (2005) and opened in AutoCAD.

Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #19 on: January 30, 2013, 11:34:50 am »
1. Was required to termination Loop in the user function (not LiteCAD) on the ESC key.
Thus the cursor is in the LiteCAD DWG window.
Function requests from the user of pair of points and directly processes them.
For the ESC key VirtKey parameter = 27

Here is how it looks (userutils1.c):

int intKey;  // to bipass ESC in loop while()
void CALLBACK KeyDown (HANDLE hWnd, int VirtKey, int Flags, BOOL bCtrl, BOOL bShift )
{
   if ( VirtKey == 27 ) { intKey = VirtKey; }
}

void GetStrelka12 (float fArrowScale)
{
... ... ...
   // do user-cicle for entering pair-points 1-2
   while ( 1 )
   {
      lcOnEventKeyDown ( KeyDown );  // !!! Invoke CALLBACK-function
      if ( intKey == 27 )
      {
         MessageBox( NULL, TEXT("the key ESCAPE is pressed"), TEXT("Event2"), MB_OK);
         break;  // terminate loop while()
      }
... ... ...
   }
}

2. For faster (than from the menu) a call of the LiteCAD functions added two ToolBar panels:
HWND  CreateTbarMain ( HWND hWndParent, HINSTANCE hInst );
HWND  CreateTbarDraw ( HWND hWndParent, HINSTANCE hInst );

Used toolbar.bmp and draw.bmp from VeCAD
(in LiteCAD source codes these bitmap of a panel unfortunately are absent).

It is necessary to add vertical panels edit.bmp, format.bmp, dims.bmp, tbsnap.bmp,
but while it turns out badly - vertical-splitter ceases to work, there are other ghost effects.

Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #20 on: February 10, 2013, 11:17:38 pm »
Looking for 3d emulation added 2 custom functions:
1st builds Polyline as 3dFace by a point specified by the user, the nearest to it around the points,
the second requires you point inside a triangle of 3 existing points, and then do the points.
It is necessary to fill the holes, which are obtained for the 1st method.

Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #21 on: February 14, 2013, 06:03:23 pm »
My profession is connected to topography and construction geodesy.
Thus computation and representation of volumes between two surfaces provided in the form of TIN, is especially interesting to me.
LiteCAD has only one rather 3-dimensional primitive - a Point.
There is still the object structure of TIN consisting of objects of 3-dimensional edges, but it's not 3dFace, accepted (for example in AutoCAD) as a basic primitive for TIN creation.
From this that I know, TIN is built on 3-dimensional points in the form of triangles, more often by the Delaunay triangulation method. Thus it is accepted to "close" a triangle through duplicating of the first it vertex:1 - 2 - 3-1.

Thus 3dFace is 3dPolyLine from the 4th nodes (Vertex) where the 1st and last node (point) match.
The PolyLine in LiteCAD (as well as in other CAD systems) is the plane primitive by default having Z=0.00 for all nodes, but can have and Z <> 0.00.
Therefore I build in LiteCAD the 3dPolyLine on 3-dimensional points as PolyLine with saving separately Z-coordinates for each node.
For a possible data interchange with other programs working with 3dFace and 3dPolyLine I see only one method: export import through the text file.

Corrected operation of subprogrammes a little:
users Utils-> Draw 3dFaces
Users1-> Draw Surface

Added in the LiteCAD-Editor2 program (menu "Users Utils"-> Users1...):
a)
SDR-Export
These are function for export LiteCAD entities (Point, Line, PolyLine ...) in 2 files:
1. Geodetic tachometer Sokkia (SDR-33 protocol) job-file
2. Other tachometer (for example Lieca) free-format comma-separated data.
b)
Export3dFaces
Import3dFaces
ExportPoints
ImportPoints
These are functions for compatibility with external programs, they write to the file and read from the file PolyLines imitating 3dFace and 3dPoints.

Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #22 on: February 21, 2013, 06:18:22 pm »
There is a program that records waypoints satellite receiver or navigator in a text file.
In this file lines are as follows:
ROVER
TOW 373889.96875000 WN 1700 - GPS time
B 55.65302785 L 37.56813404 H 239.240 - geodetic coordinates
X 2858970.698 Y 2199171.819 Z 5242953.156 - geocentric coordinates

Added to LiteCAD-Editor2 routine "Import Track-GNSS", which selects only the lines beginning with "X "
The screenshot shows the point of the selected file xxxxxxx-coords.txt (at the bottom of this file.)

Added to LiteCAD-Editor2 routine "Import Survey-GNSS", which selects only two lines:
1. beginning with "TOW "
2. beginning with "PntNum "

ROVER
TOW 342634.00 AntennaHight 1.000 - GPS time & AntennaHight
X 2858959.000 Y 2199176.000 Z 5242934.000 - geocentric coordinates
PntNum 2001 EpocCount 10 StartTOW 342624.00000000 StopTOW 342634.00000000 X 2858959.000 Y 2199176.400 Z 5242934.000 dX 0.000 dY 2.600 dZ -1.000 Code ROAD begin
 - last string has more info: Number of survey-point, start & stop survey-time, coordinates & base-correction-coordinates, Code & Code-Attribute - all for this surveyed point.

The screenshot shows the point of the selected file xxxxxxx-coords.txt (at the bottom of this file.)

Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #23 on: February 24, 2013, 01:46:49 pm »
For integration LiteCAD & GNSS
Program for Garmin & GlobalSat receivers/navigators build on chipsets SirfStar-II SirfStar-III SirfStar-IV
Platform: Win32, connect-interfaces: RS-232, USB, BlueTootth.
Now tested with navigator Garmin GPSMap-60cx (SirfStar-III) and receiver GlobalSat BU-353-S4 (SirfStar-IV) only.
See attachment.

Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #24 on: February 24, 2013, 09:10:19 pm »
Update of program GNSS-Monitor4.
Now tested with 5 model receiver/navigator.
Example work in archive.
Info-file only Russian.
xxxxxx-Coords.txt -for simple & standallone geodetic works (for example in LiteCAD),
xxxxxx-Binary.txt - for translate to RINEX-file & precise post-processing (for example in Topcon Tools).

Offline sergey

  • Member
  • *
  • Posts: 97
Re: VeCAD (VectorCAD) & LiteCAD SDK for programming on BCX & C-lang (NOT OOP)
« Reply #25 on: February 26, 2013, 11:20:14 am »
Some bugs fixed.
In archive also example work with new receiver GlobalSat BU-353-S4
(OFFTOP: I make also version for Linux - see screenshot)

kielni

  • Guest
Hello sergey

Maybe it will be OFF TOP ;) but:

Would you be kind to attach the source code of your software "GNSS Monitor" or provide a web link to a place where could it (that source code) be downloaded?

Best regards, kielni

Offline sergey

  • Member
  • *
  • Posts: 97
Not now - work in progress, maybe later.

Now see please more complicated variant: GNSS-Monitor3.
RAW-data Messages MID-28 (0x1C) now adjusted for Receiver ClockBias & ClockDrift.
Aligns the measurement to a whole second, it is important for RTK-meassurement/surveying.
It can produce on the fly RINEX-OBS file (for post-processing for example in Topcon-Tools).
Tested only with receiver GlobalSat BU-353S4 (SirfStar-IV).

On screenshot: 4 windows of the program, Parsing.txt and RINEX Observer.obs files.
« Last Edit: March 02, 2013, 06:46:50 am by sergey »

Offline sergey

  • Member
  • *
  • Posts: 97
Update program LiteCAD-Editor2.
Added Toolbars:
Edit
Snap
Dim(ensions).

The screenshot drawing with some types hatches.
There you can see all 5 toolbars:
2 horizontal - at the top and 3 vertical on the left.

Should be added to all the icons of the toolbars tips, but still can not do it.
Link:
http://www.kolbasoft.com/forum/viewtopic.php?f=4&t=348

Offline TimoVJL

  • Global Moderator
  • Member
  • *****
  • Posts: 1866
Should be added to all the icons of the toolbars tips, but still can not do it.
function WndProc()
Code: [Select]
case WM_NOTIFY:
if (((LPNMHDR)lParam)->code == TTN_NEEDTEXT) {
//LPTOOLTIPTEXT pTT = (LPTOOLTIPTEXT)lParam;
((LPTOOLTIPTEXT)lParam)->hinst = hInst;
((LPTOOLTIPTEXT)lParam)->lpszText = MAKEINTRESOURCE(((LPTOOLTIPTEXT)lParam)->hdr.idFrom);
}
return 0;
resource.h strintable
Code: [Select]
STRINGTABLE
BEGIN
    IDS_APP_TITLE           "LiteCAD-editor2"
    IDC_TEST01              "TEST01"
    ID_FILE_NEW "New Drawing"
...
END
May the source be with you