乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 119|回复: 9

delphi + cad

[复制链接]

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2004-3-17 11:08:00 | 显示全部楼层 |阅读模式
我使用delphi,有没有同路的?开发了一些程序,主要是应用数据库设计,将sql数据库数据与cad图形联系,做电气设计。例如不同的元件选型而对应的电机保护等。
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2004-5-26 14:02:00 | 显示全部楼层
也想用delphi+cad, 能否发一份delphi+cad的框架例子?
breezer2003@sohu.com
3x
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2004-6-15 02:45:00 | 显示全部楼层
我也想用delphi进行二次开发,发个列子把
zengzhigang_0@163.com
thanks
回复

使用道具 举报

22

主题

54

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
142
发表于 2004-6-15 08:27:00 | 显示全部楼层
我也是刚学,给此简单的例子吧
pckite@163.com
回复

使用道具 举报

0

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
3
发表于 2004-6-16 10:47:00 | 显示全部楼层
放弃吧,光数据转换中用到variant就够头疼的了
回复

使用道具 举报

1

主题

4

帖子

1

银币

初来乍到

Rank: 1

铜币
8
发表于 2004-7-2 11:01:00 | 显示全部楼层
首先谢谢各位支持,出差了好久,邮件一直没有仔细看过。不值各位还有兴趣么。
下面是个简单的例子,抛砖引玉,实际上只要你仔细看acad的help就能做出来了
记得要 uses ComObj
procedure TForm1.Button2Click(Sender: TObject);
var
                         cad,CADDOC:variant;
                         startPoint, endpoint:Variant;
begin
                         cad:=GetActiveOleObject('AutoCAD.Application');
                         cad.visible:=true;
                         caddoc:= cad.activedocument;
                         startPoint:= VarArrayCreate([0,2],5        );
                         startPoint[0]:=0;
                         startPoint[1]:=0;
                         startPoint[2]:=0;
                         endPoint:= VarArrayCreate([0,2],5        );
                         endPoint[0]:=120;
                         endPoint[1]:=120;
                         endPoint[2]:=0;
                         caddoc.ModelSpace.AddCircle(VarArrayRef(startPoint), 25).Update;                                 //画个圆
                         caddoc.ModelSpace.AddLine((startPoint),(endpoint));                                                                                                                                                 //画条线
                         caddoc.ModelSpace.Addtext('sdgfdag',VarArrayRef(endPoint),20);                                                         //写个字
                         caddoc:=Unassigned;
                         cad:=Unassigned;
end;
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2007-2-13 11:39:00 | 显示全部楼层
非常 感谢
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2007-2-14 19:55:00 | 显示全部楼层
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
1
发表于 2007-2-15 23:58:00 | 显示全部楼层
我从前用LISP,快把我搞疯了。所以我想办法将Perl在Cad上搞起来,并响应Cad的对象事件,管理对象。
我用Perl控制Excel、word,ODBC将各个程序联系起来互通信息。
我用Perl写动态网页。我的目标是只用Perl就包打天下。用Perl写起程序来是如此顺手。
例程:
use Tk;
use strict;
use Win32::OLE qw(EVENTS);
use Win32::OLE::Variant;
$|=1;
        
package MyEvent;
use strict;
use Win32::OLE::Variant;
$|=1;
my $status = 0;
my $Handle = 0;
sub ObjectModified {
if ($status == 1){
    return(0)}
$status = 1;
    my ($Obj,$arg) = @_;
my $ModifyObj = $arg->Value();
print $ModifyObj->{'ObjectName'} . "\n";
$Handle = $ModifyObj->Handle();
}
sub EndCommand{
    my ($Obj,$arg) = @_;
my $one = Variant(VT_ARRAY|VT_R8,3);
    $one-&gtut([1, 1, 0]);
    my $two = Variant(VT_ARRAY|VT_R8,3);
    $two-&gtut([1, 20, 0]);
my $ModifyObj = $Obj->HandleToObject($Handle);
$ModifyObj -> Move($one,$two);
}
package main;
$Win32::OLE::Warn = 3;
my $acad = Win32::OLE->GetActiveObject('AutoCAD.Application.16')
    || Win32::OLE->new('AutoCAD.Application.16');
$acad->{'visible'}=1;
my $Documents = $acad->{'Documents'};
my $Document1 = $Documents->Item(0);
$Document1->Activate();
my $moduspace=$Document1->ModelSpace;
Win32::OLE->WithEvents($Document1,"MyEvent","_DAcadDocumentEvents");
Win32::OLE->MessageLoop;
回复

使用道具 举报

40

主题

133

帖子

25

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
277
发表于 2007-2-21 18:28:00 | 显示全部楼层
这个perl能开发autocad 2007 LT么?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-7 10:02 , Processed in 1.170170 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表