• thelightsky
    了解作者
  • C#
    开发工具
  • 91KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2019-03-28 23:52
    上传日期
Brics CAD jig technical
BrisCAD_Jig.rar
  • SteelBrx
  • steel_member_jig.h
    1.3KB
  • cadworx_steel_dbx.cpp
    2.3KB
  • acrxEntryPoint.cpp
    3.7KB
  • StdAfx.cpp
    1.3KB
  • StructureDbx.rc
    4.2KB
  • resource.h
    406B
  • steel_member_jig.cpp
    3KB
  • StdAfx.h
    3.6KB
  • VS2013
  • SteelBrx.vcxproj.user
    165B
  • BrisCAD_Demo.sln
    3.2KB
  • SteelBrx.vcxproj
    16.4KB
  • SteelDbx.vcxproj
    16.3KB
  • BrisCAD_Demo.v12.suo
    80KB
  • SteelBrx.vcxproj.filters
    1.1KB
  • SteelDbx.vcxproj.filters
    1.3KB
  • support
  • SteelDbx.dbx
    142KB
  • StructureBrx.brx
    160KB
  • SteelDbx
  • SteelComponent
  • steel_component.cpp
    4.7KB
  • Steel_Component.h
    1.1KB
  • cadworx_steel_dbx.cpp
    2.3KB
  • acrxEntryPoint.cpp
    2.4KB
  • StdAfx.cpp
    1.3KB
  • StructureDbx.rc
    4.2KB
  • resource.h
    406B
  • StdAfx.h
    3.6KB
内容介绍
#include "stdafx.h" #include "Steel_Component.h" ACRX_DXF_DEFINE_MEMBERS(SteelComponent, AcDb3dSolid, AcDb::kDHL_CURRENT, AcDb::kMReleaseCurrent, AcDbProxyEntity::kNoOperation, STEELCOMPONENT, STEELDBX| To disable this dialog from appearing| set PROXYNOTICE to 0.| Drawings created with CADWorx Structure can| be viewed in plain AutoCAD by loading| an Object Enabler (SteelDbx.dbx)); #if defined (CWXSteel2016) #else MAKE_ACDBOPENOBJECT_FUNCTION(SteelComponent); #endif SteelComponent::SteelComponent() { } SteelComponent::~SteelComponent() { } SteelComponent::SteelComponent(const AcGePoint3d& point1, const AcGePoint3d& point2) { m_point1 = point1; m_point2 = point2; } Acad::ErrorStatus SteelComponent::set_Point1(AcGePoint3d pnt) { assertWriteEnabled(); m_point1 = pnt; return Acad::eOk; } Acad::ErrorStatus SteelComponent::set_Point2(AcGePoint3d pnt) { assertWriteEnabled(); m_point2 = pnt; return Acad::eOk; } Acad::ErrorStatus SteelComponent::dwgInFields(AcDbDwgFiler* filer) { assertWriteEnabled(); Acad::ErrorStatus status = AcDb3dSolid::dwgInFields(filer); if (Acad::eOk != status) return status; filer->readItem(&m_point1); filer->readItem(&m_point2); return filer->filerStatus(); } Acad::ErrorStatus SteelComponent::subTransformBy(const AcGeMatrix3d& xform) { assertWriteEnabled(); m_point1.transformBy(xform); m_point2.transformBy(xform); return AcDb3dSolid::subTransformBy(xform); } Acad::ErrorStatus SteelComponent::dwgOutFields(AcDbDwgFiler* filer) const { assertReadEnabled(); Acad::ErrorStatus status = AcDbEntity::dwgOutFields(filer); if (Acad::eOk != status) return status; filer->writeItem(m_point1); filer->writeItem(m_point2); return filer->filerStatus(); } Adesk::Boolean SteelComponent::subWorldDraw(AcGiWorldDraw* pMode) { assertReadEnabled(); AcGePoint3dArray ptArray; ptArray.append(m_point1); ptArray.append(m_point2); //set linetype for center line if (pMode) { pMode->subEntityTraits().setColor(4); pMode->geometry().polyline(ptArray.length(), ptArray.asArrayPtr()); } return AcDb3dSolid::subWorldDraw(pMode); //return true; } Acad::ErrorStatus SteelComponent::subGetOsnapPoints(AcDb::OsnapMode osnapMode, Adesk::GsMarker gsSelectionMark, const AcGePoint3d& pickPoint, const AcGePoint3d& lastPoint, const AcGeMatrix3d& viewXform, AcGePoint3dArray& snapPoints, AcDbIntArray& geomIds) const { assertReadEnabled(); if (osnapMode != AcDb::kOsModeEnd && osnapMode != AcDb::kOsModeNear && osnapMode != AcDb::kOsModePerp && osnapMode != AcDb::kOsModeMid && osnapMode != AcDb::kOsModeNode && osnapMode != AcDb::kOsModeQuad && osnapMode != AcDb::kOsModeCen) { return Acad::eOk; } AcDbLine LineOs(m_point1, m_point2); LineOs.getOsnapPoints(osnapMode, gsSelectionMark, pickPoint, lastPoint, viewXform, snapPoints, geomIds); } bool createRegionFromEntities(AcDbVoidPtrArray * pEntities, AcDbVoidPtrArray * pRegions) { bool ret_flag = true; Acad::ErrorStatus es = Acad::eOk; if ((es = AcDbRegion::createFromCurves(*pEntities, *pRegions)) == Acad::eOk) { if (pRegions->length() > 1) { ;// } else if (pRegions->length() == 0) { ret_flag = false; } else { AcDbRegion * pTemp = (AcDbRegion*)pRegions->first(); if (pTemp->isNull() == Adesk::kTrue) { ret_flag = false; } } } else { ret_flag = false; } return ret_flag; } void SteelComponent::UpdateSolid() { AcGeVector3d normal = m_point2 - m_point1; normal.normalize(); AcGeVector3d vSide = normal.perpVector(); AcGeVector3d vDir = vSide.crossProduct(normal); double dSize = 50.0; AcGePoint3d pt1 = m_point1; AcGePoint3d pt2 = m_point1 + vDir*dSize; AcGePoint3d pt3 = m_point1 + (vSide + vDir)*dSize; AcGePoint3d pt4 = m_point1 + vSide*dSize; AcDbLine *pLine = new AcDbLine(pt1, pt2); AcDbLine *pLine1 = new AcDbLine(pt2, pt3); AcDbLine *pLine2 = new AcDbLine(pt3, pt4); AcDbLine *pLine3 = new AcDbLine(pt4, pt1); AcDbVoidPtrArray lines; lines.setLogicalLength(0); lines.append(pLine); lines.append(pLine1); lines.append(pLine2); lines.append(pLine3); AcDbVoidPtrArray regions; if (createRegionFromEntities(&lines, &regions)) { AcDbObjectId id; if (regions.length() == 1) { AcDbRegion *pRegion = (AcDbRegion*)regions[0]; AcDbLine *pCenterLine = new AcDbLine(m_point1, m_point2); if (pRegion) { Acad::ErrorStatus es = this->extrudeAlongPath(pRegion, pCenterLine); int nStp = 0; } } } }
评论
    相关推荐
    • qpopper2.53.tar.Z
      pop3 server
    • imap-4.7.tar.Z
      被广泛使用的email服务器 /IMAPD/POPD
    • 53308459Add_Dlt_TabCtrl.rar
      Tab分页的删除和添加,实现分页动态的管理。
    • ns-allinone-2.33.tar.gz
      ns2.33这是目前比较新的ns2版本,欢迎下载
    • NetVideoActiveX23.rar
      海康威视 网络监控插件 带有例子 和开发的dll文件,非常易用
    • UR054g_(R01).zip
      法国inventel的ur054g(r01)v1.1的无线网卡驱动。
    • eat.rar
      外卖叫餐系统,采用ACCESS数据库,有完整天的后台管理系统
    • KSTVTUNE.ZIP
      装摄像头驱动需要用到的文件。Microsoft DirectX 9 SDK
    • Skin++.rar
      知名的Skin++界面库,内含所有库文件和大量皮肤文件.该库使用方便,可以减少您美化程序的痛苦.本版是破解版,没有注册提示.但只供学习研究使用哦,不要用在商业用途.
    • DLL函数查看器V2.0.rar
      DLL函数查看器V2.0 可以看看dll里导出地函数