Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move ActiveX/COM into C++ PyAx Moule #165

Open
CEXT-Dan opened this issue Jan 2, 2025 · 9 comments
Open

Move ActiveX/COM into C++ PyAx Moule #165

CEXT-Dan opened this issue Jan 2, 2025 · 9 comments
Assignees
Labels
enhancement New feature or request

Comments

@CEXT-Dan
Copy link
Owner

CEXT-Dan commented Jan 2, 2025

I always planned to support ActiveX because it’s super easy to use and well documented, VBA and lisp users will feel right at home.
I’ve already done this with Sheet Sets, I will need to do this to support the ETransmit interface

1, there’s too many modules to maintain with the ones generated with pywin32. BricsCAD, ZwCAD, GStarCad change CLSIDs every year, in a couple years we’ll have more than 12 modules ugh. I eventually want to support one of the intellicad versions, maybe (CMS), which means more modules.

2, in AutoCAD’s .NET interface the developer can get ActiveX properties easily, example
Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication
Autodesk.AutoCAD.DatabaseServices.DBObject.AcadObject
Some functions in .NET’s API are actually COM, people don’t know it

3, it's a fail safe, if there's a bug in PyRx, it may be possible to jump to ActiveX

3, I can make it better, faster.

Cons:
1, it’s a lot of work
2, It’s a distraction because PyRx is already easy

@CEXT-Dan CEXT-Dan self-assigned this Jan 2, 2025
@CEXT-Dan CEXT-Dan added the enhancement New feature or request label Jan 2, 2025
@CEXT-Dan CEXT-Dan changed the title Move ActiveX/COM into C++ AcAx Moule Move ActiveX/COM into C++ PyAx Moule Jan 2, 2025
CEXT-Dan added a commit that referenced this issue Jan 2, 2025
CEXT-Dan added a commit that referenced this issue Jan 2, 2025
CEXT-Dan added a commit that referenced this issue Jan 2, 2025
CEXT-Dan added a commit that referenced this issue Jan 2, 2025
CEXT-Dan added a commit that referenced this issue Jan 2, 2025
CEXT-Dan added a commit that referenced this issue Jan 4, 2025
CEXT-Dan added a commit that referenced this issue Jan 5, 2025
@CEXT-Dan
Copy link
Owner Author

Thinking, I would like to have both Ax spaces to exist side-by-side for a few months
It’s a big task and I don’t want to hide it, or put it in a branch, as things will start to become useful.
I also want to write samples & test and eventually get user feedback

from pyrx_imp import Rx, Ge, Gi, Db, Ap, Ed, Gs, Ax
and
from pyrx_impx import Rx, Ge, Gi, Db, Ap, Ed, Gs, Ax

pyrx_imp imports the C++ version
pyrx_impx imports the generated

So, it’s no change for current Ax users

@gswifort
Copy link
Contributor

And what is your idea for pyrx? Currently it imports the generated version. It would be good if it included both. Maybe Axcom and Axcpp? from pyrx import Ax probably hasn't caught on yet, so you can change it (and leave from pyrx_impx import Ax).

@CEXT-Dan
Copy link
Owner Author

CEXT-Dan commented Jan 15, 2025

I have the test as

from pyrx import Ap
from pyrx import PyAx as Ax

from pyrx import Ax probably hasn't caught on yet, so you can change it (and leave from pyrx_impx import Ax).

Preferred. When I’m done, remove pyrx_impx and those components

@gswifort
Copy link
Contributor

I have the test as

from pyrx import Ap
from pyrx import PyAx as Ax

and it works? pyrx does not contain PyAx in its namespace.

@CEXT-Dan
Copy link
Owner Author

It does, though I will remove it if you add it to pyrx
Screenshot 2025-01-15 171053

@gswifort
Copy link
Contributor

Just to be sure - should I add Axcom and Axcpp?

@CEXT-Dan
Copy link
Owner Author

Just to be sure - should I add Axcom and Axcpp?

if it’s not needed, I would prefer not, hopefully i wont take too long to make the switch

@CEXT-Dan
Copy link
Owner Author

I have the test as

from pyrx import Ap
from pyrx import PyAx as Ax

and it works? pyrx does not contain PyAx in its namespace.

the auto complete works, but the test fail , so I guess PyAx should be in pyrx

@gswifort
Copy link
Contributor

Yes, that's what I meant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants