如何改变线的长度?CAD .NET热门技术问答精选合集

本文是CAD .NET热门技术问答合集,涵盖打印选择、导出部分区域、文本字体、改变线长度、选择问题、DXF保存问题等多个方面,解答了如何在CAD软件中进行特定操作的疑问。
摘要由CSDN通过智能技术生成

CAD .NET是一款在CAD领域被广泛应用的控件,可以快速准确的阅读DWG和DXF文件,并且通过Windows GDI+方法绘制件,支持多种文件格式,包括DWG、DXF、Gerber、光栅图像等,并支持部分编辑功能。

CAD .NET应用领域:

  • 监控和遥控程序
  • 数控加工
  • 数据导出为CAD格式
  • 文件管理系统
  • 与数据库合作
  • 高度专业化的产品使用图纸

 

CADSoftTools——CAD .NET常见问题解答

 

Q1:关于打印的选择

问:我正在寻找可以选择图像的一部分的东西,就像选择一个部分来缩放那个部分,然后打印或导出那个可见的部分?

答:您可以使用重载方法CADImage.SaveToStream的以下签名将CAD图像的一部分保存到MemoryStream

public virtual void SaveToStream(  
   Stream str,  
   ImageFormat ImgFormat,  
   DRect aCurRect,  
   Rectangle clipRect  
)

ImgFormat参数指定保存图像的文件格式(Bmp,Jpeg等)。CurRect参数表示当前显示在屏幕上的CAD图像部分,而clipRect确定将保存到流的部分(Stream str)。

将裁剪的部分放入内存流后,可以从中创建新的位图:

MemoryStream ms = new MemoryStream();
...

Bitmap bmp = new Bitmap(ms);

然后使用PrintDocument类在打印机页面上绘制此位图:

public static void PrintBitmap(Bitmap bitmap, string printerName, int paperWidth, int paperHeight)
{
    PrintDocument pd = new PrintDocument();
    pd.PrinterSettings.PrinterName = printerName;
    pd.PrinterSettings.DefaultPageSettings.Landscape = true;
    pd.PrinterSettings.DefaultPageSettings.PaperSize = new PaperSize("Custom size", paperWidth, paperHeight);
    pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);
    pd.PrinterSettings.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);

    pd.PrintPage += (sender, args) =>
    {
        Rectangle m = args.MarginBounds;
        if ((double)bitmap.Width / (double)bitmap.Height > (double)m.Width / (double)m.Height)
        {
            m.Height = (int)((double)bitmap.Height / (double)bitmap.Width * (double)m.Width);
        }
        else
        {
            m.Width = (int)((double)bitmap.Width / (double)bitmap.Height * (double)m.Height);
        }
        args.Graphics.DrawImage(bitmap, m);
    };
    pd.Print();    
}

要使用鼠标选择CAD图像的一部分,可以使用CADEditorControl.ClipRectangle工具,如下面的代码示例所示。

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Printing;
using System.IO;
using System.Windows.Forms;
using CADImport;
using CADImport.FaceModule;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        cadEditorControl1.EditorCADPictureBox.MouseDown += EditorCADPictureBox_MouseDown;
        cadEditorControl1.EditorCADPictureBox.MouseUp += EditorCADPictureBox_MouseUp;
    }

    void EditorCA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值