水平四通(槽式)『AutoCAD Plant 3D Python Script』

本文详细介绍了如何使用Python编程语言,在AutoCAD Plant 3D环境中创建水平四通(槽式)的详细步骤和技巧,通过脚本实现高效自动化绘制。
AI助手已提取文章相关产品:
# -*- coding: utf-8 -*-
from varmain.primitiv import *
from varmain.custom import *

@activate(Group="Cross", FirstPortEndtypes="BV, CT", Ports="4", TooltipShort="", LengthUnit="mm")
@group("MainDimensions")
@param(A=LENGTH, TooltipLong="")
@param(B=LENGTH, TooltipLong="")
@param(L=LENGTH, TooltipLong="")

def NLCTCROS_CS4T_A(s, A=100.0, B=50.0, L=500.0, **kw):
    if B<=0.0:
        paB=A/2.0
    else:
        paB=B

    pa01=A/2.0
    paL=L/2.0
    pa02=paB*0.7
    pa03=(L-A)/2.0-pa02
    pa04=(L+A)/2.0

    s01=BOX(s, H=L, L=A, W=paB)
    s02=BOX(s, H=L, L=A, W=paB).rotateZ(90.0)
    s01.uniteWith(s02)
    s02.erase()
    s101=BOX(s, H=pa03, L=pa03, W=paB).translate((-pa03/2.0, pa03/2.0, 0.0))
    s102=BOX(s, H=pa03*20.0, L=pa03*20.0, W=paB).translate((pa03*10.0, pa03*10.0, 0.0)).rotateZ(45.0)
    s101.subtractFrom(s102)
    s102.erase()
    s101.translate((pa03+pa01, pa01, 0.0))
    s01.uniteWith(s101)
    s101.erase()
    s201=BOX(s, H=pa03, L=pa03, W=paB).translate((-pa03/2.0, pa03/2.0, 0.0))
    s202=BOX(s, H=pa03*20.0, L=pa03*20.0, W=paB).translate((pa03*10.0, pa03*10.0, 0.0)).rotateZ(45.0)
    s201.subtractFrom(s202)
    s202.erase()
    s201.translate((pa03+pa01, pa01, 0.0)).rotateZ(90.0)
    s01.uniteWith(s201)
    s201.erase()
    s301=BOX(s, H=pa03, L=pa03, W=paB).translate((-pa03/2.0, pa03/2.0, 0.0))
    s302=BOX(s, H=pa03*20.0, L=pa03*20.0, W=paB).translate((pa03*10.0, pa03*10.0, 0.0)).rotateZ(45.0)
    s301.subtractFrom(s302)
    s302.erase()
    s301.translate((pa03+pa01, pa01, 0.0)).rotateZ(180.0)
    s01.uniteWith(s301)
    s301.erase()
    s401=BOX(s, H=pa03, L=pa03, W=paB).translate((-pa03/2.0, pa03/2.0, 0.0))
    s402=BOX(s, H=pa03*20.0, L=pa03*20.0, W=paB).translate((pa03*10.0, pa03*10.0, 0.0)).rotateZ(45.0)
    s401.subtractFrom(s402)
    s402.erase()
    s401.translate((pa03+pa01, pa01, 0.0)).rotateZ(270.0)
    s01.uniteWith(s401)
    s401.erase()

    s.setPoint((-paL, 0.0, 0.0), (-1.0, 0.0, 0.0))
    s.setPoint((paL, 0.0, 0.0), (1.0, 0.0, 0.0))
    s.setPoint((0.0, -paL, 0.0), (0.0, -1.0, 0.0))
    s.setPoint((0.0, paL, 0.0), (0.0, 1.0, 0.0))

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值