Hans Martin Kern
Member-
Posts
46 -
Joined
-
Last visited
-
Jeremy Best started following Hans Martin Kern
-
How to change value of an enhanced pull-down menu
Hans Martin Kern replied to Stefan Bender's topic in SDK
Just thinking out loud here: I assume you're passing in true for enhanced and showIconInMainWindow otherwise we wouldn't see the icons. Hmm. Are you using the markers to access the entries of the pulldown menu? Maybe there's something fishy there? -
How to change value of an enhanced pull-down menu
Hans Martin Kern replied to Stefan Bender's topic in SDK
Just off the top of my head - Did you supply a png for the "Keiner" option (even if it's a an empty png)? -
If I insert a Door or Window object into a drawing using VW 2023, VW immediately displays blue reshape handles on the Door / Window object and I can start resizing it right away - without an additional trip to the reshape tool. Any hints on how to achieve the same behavior for a SDK-based third party plug-in? I found the extended property "kObjXPropInteractiveSizingInsert" but it looks like it's restricted to door/window use? Any hints appreciated.
-
Interiorcad notched plinth
Hans Martin Kern replied to Woodychips's topic in 3rd Party Services, Products and Events
Hey @Woodychips, unfortunately, there's no way to parametrically remove the edge banding on the toe kick recess. As you're exporting to Enroute I assume your design is almost done so it may be worth your while to actually ungroup (a copy of) the cabinet object and turn off the the edge banding for the toe kick recess in the left & right side of the cabinet. -
One of our plug-ins is automagically exporting symbols to a library file using virtual bool VCOM_CALLTYPE ExportResourceN(MCObjectHandle resource, IFileIdentifier* pFileID = nil, TImportResourceConflictCallbackProcPtr conflictCallback = nil) = 0; Works like a charm. Users have requested that we should export the symbol into a resource folder within the library file - so the structure of the library file is somewhat "tidier" and easier to work with when they open it up for maintenance purposes. Is there a way to accomplish that with the SDK?
-
You can find instructions on installing the dialog builder at https://developer.vectorworks.net/index.php/SDK:Dialog_Builder There's also the option to create the dialog layout with the SDK functions supplied, just scan ISDK for functions like Create... and SetBelow... / SetRight...
-
Haven't seen this one. Off the top of my head - Is it a master snap in disguise?
-
Thanks for reaching out, Jushua. In fact, that's what I did. I assigned the record format to an object in file B. Both record formats are structurally identical as they were created from scratch by the code snippet posted. I have not touched the record formats after creation by any means. They are identical. So my conclusion is that there has to be some hidden ID / timestamp attached to the record format which makes the record formats different.
-
I create a VW record format in document A with the following code snippet if (! VWRecordFormatObj::GetRecordFormat("SomeRecordFormat")) { VWRecordFormatObj recordFormat("SomeRecordFormat"); recordFormat.AddParamCoord("SomeParam", 0.0); recordFormat.SetLock(false); recordFormat.SetFormatVisibility(true); } and assign the record format to a VW object in document A and enter some value for "SomeParam". Then, I open up a new document B and create a VW record format in document B with the very same code snippet shown above - so record format "SomeRecordFormat" is structurally identical in both document A and B. Now, I try to copy / paste the VW object with the associated "SomeRecordFormat" data from document A to document B. Vectorworks brings up a dialog complaining about the record format ("SomeRecordFormat") already being contained in document B and asks if I would like to replace, merge, rename the record format or continue using the existing record format. Is there a way to "convince" VW that the record format in document A and B are the same and that it should not bring up the aforementioned dialog? Looks like there's a hidden unique ID or a time stamp attached to the record format?
-
VCOM Interfaces: Release them or not? (refcount warning)
Hans Martin Kern replied to Stefan Bender's topic in SDK
Stephan, Here's how I would tackle this: class SomeClass { public: SomeClass(); private: IEnergyBuildingElementWinDoorExPtr m_energy_2021; } SomeClass::SomeClass() : m_energy_2021(IID_EnergyBuildingElementWinDoorEx) { // If querying the interface fails for some reason, m_enery_2021 would be nullptr } The default destructor of SomeClass() will take care of releasing the acquired interface. Even if you create your own destructor, m_energy_2021 will still be released. So, to the best of my knowledge, there's no need for you to manually release it.