Virtual Drafter Internet Tools Vdraft Applications Education Support Developer Support SoftSource

Vdraft is built on the newest technology, incorporating true object-oriented design from its core on out. This gives the add-on developer many advantages, the chief of which is relatively simple code that is easy to understand - almost self-documenting.

The following code fragments show how you would take the last drawing entity created and change the layer it is on. A simple enough and routine enough chore. The following examples contrast programming for Vdraft versus AutoCAD. Using Visual Basic with Vdraft is readable even by non-programmers. The AutoLisp code is obscure and difficult to interpret. The Vdraft C++ example uses the C++ version of the same API as Visual Basic (e.g. Drawing.GetEntities() instead of Drawing.Entities). The AutoCAD ADS example is even more obscure than AutoLisp.



Visual Basic for Vdraft
	Drawing.Entities.Last.Layer = Drawing.Layers("MYLAYER")
AutoLisp for AutoCAD
	(setq entity (entget (entlast)))
	(setq entity (subst (cons 8 "MYLAYER") (assoc 8 entity) entity))
	(entmod entity)
C++ for Vdraft
	IEntities Entities (Drawing.GetEntities());
	IEntity LastEntity (Entities.GetLast());
	ILayers Layers (Drawing.GetLayers());
	ILayer Layer (Layer.GetItem(cVariant("MYLAYER")));
	LastEntity.SetLayer(Layer);
ADS for AutoCAD
	struct resbuf *ent, *ptr;
	ads_name last;
	ads_entlast(last);
	ent = ads_entget(last);

	ptr = ent;
	while (ptr != NULL)
	{
	    if (ptr->restype == 8)
	    {    //  assumes the string buffer is long enough
	        strcpy(ptr->resval.rstring, "MYLAYER");
	        break;
	    }
	    ptr = ptr->next;
	}
	ads_entmod(ent);

SoftSource
112 Ohio Street Suite 202
Bellingham, Washington 98225

Phone: (360) 676-0999
Sales Only: (800) 877-1875
Sales: sales@softsource.com
Tech Support: tech@softsource.com

Return to Vdraft's Home Page