- UID
- 783195
- 积分
- 24
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2019-1-1
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 kk8389 于 2019-2-9 12:22 编辑
#coding=utf-8
#!python3.6.5 #度娘到python.org 去下载 #cmd 不能 运行 python 和 pip 的话 要手动 加 py和 pip 到 环境变量
#菜鸟编程交作业 这个代码在 py社区 肯定是 小明 你出去
#千岛湖八都紫云农庄
#cad 2006
#代码是 Hulunbuir 为主 我小改的 另谢谢冉师兄送给我.()
# 没权发url bd 搜 Hulunbuir + pyautocad
import array,math
import numpy as np #cmd pip install numpy
import comtypes.client,win32com.client #pip 1: comtypes 2: pywin32
import pythoncom
#py对象-->安全数组-->变体 -->用py来cad绘图的参数
# activeX 的 createtypedarray 我没运行正常 写了这个凑凑数 不知其所以然 谁知道 教教我
def vtpt(x,y,z=0):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_R8, (x,y,z))
def vtlst(lst):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_R8, lst)
def vtobj(obj):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_DISPATCH, obj)
##
##抛转
##求友
aa = win32com.client.Dispatch("AutoCAD.Application")
doc=aa.ActiveDocument
ut = doc.Utility
mp = doc.ModelSpace
ut.Prompt("hello world\n")
#Add a LINE in ModelSpace
pt1 = vtpt(100,0,0)
pt2 = vtpt(0,0,0)
pt0=mp.AddPoint(pt1)
ln = mp.AddLine(pt1, pt2)
print(ln.StartPoint)
##cc 圆
cc=mp.AddCircle(pt1,50)
print("pt0.codnt---:",pt0.coordinates)
##addpl 多段线
pt0=[0,0,0]
pt1=[10,0,0]
pt2=[10,10,0]
pt3=[20,0,0]
pts=pt0+pt1+pt2+pt3
pts = vtlst(pts)
pll=mp.AddPolyline(pts)
#addhatch 图案填充
patternName = "ANSI31"
PatternType = 0
bAssociativity = True
center = vtpt(0, 0, 0)
radius = 10
outerLoop=[]
outerLoop.append ( mp.AddCircle(center, radius))
outerLoop = vtobj(outerLoop)
hatchObj = mp.AddHatch(PatternType, patternName, bAssociativity)
hatchObj.AppendOuterLoop (outerLoop)
hatchObj.Evaluate()
## 其他的也是 小改改 就好用了
#happy new year
|
|