import PyRx as Rx
import PyGe as Ge
import PyGi as Gi
import PyDb as Db
import PyAp as Ap
import PyEd as Ed
import traceback
import AxApp24 as Ax
import AxAppUtils24 as AxUt
def PyRxCmd_doit():
try:
dblBusDia = 1.45
axApp = Ax.getApp()
axDoc = axApp.ActiveDocument
entres = axDoc.Utility.GetEntity("\nSelect the spilne")
axSpline: Ax.IAcadSpline = entres[0]
fp = axSpline.FitPoints
#Ge math
pt1 = Ge.Point3d(fp[0],fp[1],fp[2])
pt2 = Ge.Point3d(fp[3],fp[4],fp[5])
v:Ge.Vector3d = pt2 - pt1
v.normalize()
P1 = (fp[0],fp[1],fp[2])
oCircle = axDoc.ModelSpace.AddCircle(P1, dblBusDia / 2)
oCircle.Normal = (v[0],v[1],v[2])
oReg = axDoc.ModelSpace.AddRegion([oCircle])
oCyl = axDoc.ModelSpace.AddExtrudedSolidAlongPath(oReg[0], axSpline)
except Exception as err:
traceback.print_exception(err)
#polyline
def PyRxCmd_doit2():
try:
dblBusDia = 1.45
axApp = Ax.getApp()
axDoc = axApp.ActiveDocument
entres = axDoc.Utility.GetEntity("\nSelect the pline")
axPline: Ax.IAcad3DPolyline = entres[0]
fp = axPline.Coordinates
#Ge math
pt1 = Ge.Point3d(fp[0],fp[1],fp[2])
pt2 = Ge.Point3d(fp[3],fp[4],fp[5])
v:Ge.Vector3d = pt2 - pt1
v.normalize()
P1 = (fp[0],fp[1],fp[2])
oCircle = axDoc.ModelSpace.AddCircle(P1, dblBusDia / 2)
oCircle.Normal = (v[0],v[1],v[2])
oReg = axDoc.ModelSpace.AddRegion([oCircle])
oCyl = axDoc.ModelSpace.AddExtrudedSolidAlongPath(oReg[0], axPline)
except Exception as err:
traceback.print_exception(err)