Go Back   AC3D Forums > Resources > AC3D Scripts and Mods
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Display Modes
Old 10th November 2007, 06:48 PM   #1
pataikrisztian
Junior Member
Member
 
Join Date: Aug 2007
Location: Hungary
Posts: 14
Default AC3D scripts? Please help me!

Please help me!
I want to write a tcl file, but I don't know how to. I just want to save a selection to an .ac file and then import it, because i want to do something else with it, but i don't know the ac3d commands, and i don't know how to write a tcl. Anybody help me?
(sorry for bad english)
pataikrisztian is offline   Reply With Quote
Old 12th November 2007, 08:33 PM   #2
lisa
Senior Member
Professional user
 
lisa's Avatar
 
Join Date: Mar 2005
Location: Phoenix, AZ
Posts: 917
Default Re: AC3D scripts? Please help me!

Here's a tutorial on TCL:
http://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html

The easiest thing to do is to just open up the scripts that are there and see what they do.

This script from the SDK is a good example, and it will produce a dump so you will know what all of the commands are:

#!/usr/local/bin/wish


# TCL Shell for AC3D - Version 1.0 by Andy Colebourne
# interfaces on to the internal TCL socket in AC3D so that commands
# can be sent to AC3D
# note that commands should usually start with 'ac3d' e.g. 'ac3d select_all'
# this shell prepends 'ac3d' to each command entered in the bottom text field

# the first line of this file should be #! followed by the path where 'wish'
# resides - 'which wish' should tell you where this is
# socket_num shoudl be set to the same number as tcl_socket_port in the
# ac3d prefs file. Also, ac3d_host should be set to 'localhost' i.e. this
# machine, or the IP address/hostname of the machine where AC3D is running

# the AC3D socket to connect to :
set socket_num 1655

# the host to connect to e.g. IP number, symbolic name or localhost
set ac3d_host localhost

toplevel .shell
set p .shell


proc disp_text { text } {
# append some text to the main window display
.shell.text insert end $text
.shell.text insert end "\n"
.shell.text see end
}


proc do_com {} {
# send the command to the AC3D socket
# reply is in two parts - one line containing the string length of the
# next line, which contains the reply string

global p string dest sock

if { $string == "" } { return }
puts $string
$p.text insert end $string
$p.text insert end "\n"
$p.text see end

# send the command with 'ac3d' prepended
puts $sock "ac3d $string"; flush $sock

# read the length of the reply
gets $sock len

# read that many bytes
set res [read $sock $len]

# display the reply
$p.text insert end $res
$p.text insert end "\n"
$p.text see end

set string ""
}



# try to connect to the AC3D socket - if it fails, quit

set er [ catch { set sock [socket $ac3d_host $socket_num] } ]

if { $er != 0 } {
puts "can't connnect to AC3D socket $socket_num on $ac3d_host\nAC3D may not be running on this machine ($ac3d_host) or \nthe socket number of AC3D may be different to $socket_num - exiting."
exit
}



puts "socket $sock"

wm withdraw .

set string ""

wm title $p "AC3D Shell"

text $p.text -yscrollcommand "$p.ys set" \
-xscrollcommand "$p.xs set" \
-wrap none -padx 4 -pady 4 \
-exportselection true

scrollbar $p.ys -command "$p.text yview"
scrollbar $p.xs -command "$p.text xview" -orient horizontal
entry $p.entry -textvariable string
pack $p.entry -fill x -side bottom
pack $p.xs -side bottom -fill both -expand 0

pack $p.ys -side left -fill y -expand 0
pack $p.text -fill both -expand 1

disp_text "AC3D command shell\n\nEnter 'list' for a list of the commands available\n\n"

focus $p.entry

bind $p.entry <Return> "do_com"
lisa is offline   Reply With Quote
Old 13th November 2007, 04:51 PM   #3
pataikrisztian
Junior Member
Member
 
Join Date: Aug 2007
Location: Hungary
Posts: 14
Default Re: AC3D scripts? Please help me!

Thank you Lisa!!!
pataikrisztian is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -4. The time now is 11:49 PM.


AC3D Forum
(C) Inivis Limited 2020