Drupal: Form object ($form) and its manipulation

<?php
$type = "page"; // use any content type

$node = array('uid' => $user->uid, 'name' => $user->name, 'type' => $type);

$form = drupal_retrieve_form($type .'_node_form', $node);

drupal_prepare_form($type .'_node_form', $form); // does not returns anything - modifies $form object

// print_r($form); // you can check all fields (including CCK ones )in $form object

drupal_render_form($type .'_node_form',$form)
?>

( also posted at http://drupal.org/node/151008#comment-842764 )